[INFO] fetching crate oak-lean 0.0.10...
[INFO] testing oak-lean-0.0.10 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate oak-lean 0.0.10 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate oak-lean 0.0.10
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate oak-lean 0.0.10
[INFO] tweaked toml for crates.io crate oak-lean 0.0.10 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate oak-lean 0.0.10 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oak-lean 0.0.10 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5a4cf43426adbae9a1d19672d52ae6f1be9c1732cb7a71a36f56f30c4d0e1917
[INFO] running `Command { std: "docker" "start" "-a" "5a4cf43426adbae9a1d19672d52ae6f1be9c1732cb7a71a36f56f30c4d0e1917", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5a4cf43426adbae9a1d19672d52ae6f1be9c1732cb7a71a36f56f30c4d0e1917", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a4cf43426adbae9a1d19672d52ae6f1be9c1732cb7a71a36f56f30c4d0e1917", kill_on_drop: false }`
[INFO] [stdout] 5a4cf43426adbae9a1d19672d52ae6f1be9c1732cb7a71a36f56f30c4d0e1917
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 68b8f1ed3f48a0503f19dd1d6ec5ccd80a9fb551a63c932f6ad7c33f0fdb40bc
[INFO] running `Command { std: "docker" "start" "-a" "68b8f1ed3f48a0503f19dd1d6ec5ccd80a9fb551a63c932f6ad7c33f0fdb40bc", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling twox-hash v2.1.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling triomphe v0.1.15
[INFO] [stderr]    Compiling oak-core v0.0.10
[INFO] [stderr]    Compiling oak-lean v0.0.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Source` and `UniversalElementRole`
[INFO] [stdout]  --> src/lexer/token_type.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{Source, Token, TokenType, UniversalElementRole, UniversalTokenRole};
[INFO] [stdout]   |                ^^^^^^                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parser`
[INFO] [stdout]  --> src/parser/element_type.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{ElementType, Parser, UniversalElementRole};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lexer/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct LeanLexer<'config> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 16 |     config: &'config LeanLanguage,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LeanLexer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `State` is never used
[INFO] [stdout]   --> src/parser/mod.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) type State<'a, S> = ParserState<'a, LeanLanguage, S>;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.80s
[INFO] running `Command { std: "docker" "inspect" "68b8f1ed3f48a0503f19dd1d6ec5ccd80a9fb551a63c932f6ad7c33f0fdb40bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68b8f1ed3f48a0503f19dd1d6ec5ccd80a9fb551a63c932f6ad7c33f0fdb40bc", kill_on_drop: false }`
[INFO] [stdout] 68b8f1ed3f48a0503f19dd1d6ec5ccd80a9fb551a63c932f6ad7c33f0fdb40bc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bc6e349987b3642cf56a7d2cd2d25101fe4921f6ea7c3e1bdcdb254efda27815
[INFO] running `Command { std: "docker" "start" "-a" "bc6e349987b3642cf56a7d2cd2d25101fe4921f6ea7c3e1bdcdb254efda27815", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stdout] warning: unused imports: `Source` and `UniversalElementRole`
[INFO] [stdout]  --> src/lexer/token_type.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{Source, Token, TokenType, UniversalElementRole, UniversalTokenRole};
[INFO] [stdout]   |                ^^^^^^                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parser`
[INFO] [stdout]  --> src/parser/element_type.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{ElementType, Parser, UniversalElementRole};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lexer/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct LeanLexer<'config> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 16 |     config: &'config LeanLanguage,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LeanLexer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `State` is never used
[INFO] [stdout]   --> src/parser/mod.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) type State<'a, S> = ParserState<'a, LeanLanguage, S>;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling oak-testing v0.0.10
[INFO] [stderr]    Compiling oak-lean v0.0.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Source` and `UniversalElementRole`
[INFO] [stdout]  --> src/lexer/token_type.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{Source, Token, TokenType, UniversalElementRole, UniversalTokenRole};
[INFO] [stdout]   |                ^^^^^^                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parser`
[INFO] [stdout]  --> src/parser/element_type.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{ElementType, Parser, UniversalElementRole};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lexer/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct LeanLexer<'config> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 16 |     config: &'config LeanLanguage,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LeanLexer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `State` is never used
[INFO] [stdout]   --> src/parser/mod.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) type State<'a, S> = ParserState<'a, LeanLanguage, S>;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.41s
[INFO] running `Command { std: "docker" "inspect" "bc6e349987b3642cf56a7d2cd2d25101fe4921f6ea7c3e1bdcdb254efda27815", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc6e349987b3642cf56a7d2cd2d25101fe4921f6ea7c3e1bdcdb254efda27815", kill_on_drop: false }`
[INFO] [stdout] bc6e349987b3642cf56a7d2cd2d25101fe4921f6ea7c3e1bdcdb254efda27815
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 315562aa19179848d103fe96d8ab32e1d1be45c70daed43c24acce90c51a6080
[INFO] running `Command { std: "docker" "start" "-a" "315562aa19179848d103fe96d8ab32e1d1be45c70daed43c24acce90c51a6080", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Source` and `UniversalElementRole`
[INFO] [stderr]  --> src/lexer/token_type.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use oak_core::{Source, Token, TokenType, UniversalElementRole, UniversalTokenRole};
[INFO] [stderr]   |                ^^^^^^                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Parser`
[INFO] [stderr]  --> src/parser/element_type.rs:1:29
[INFO] [stderr]   |
[INFO] [stderr] 1 | use oak_core::{ElementType, Parser, UniversalElementRole};
[INFO] [stderr]   |                             ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/lexer/mod.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct LeanLexer<'config> {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] 16 |     config: &'config LeanLanguage,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LeanLexer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `State` is never used
[INFO] [stderr]   --> src/parser/mod.rs:10:17
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub(crate) type State<'a, S> = ParserState<'a, LeanLanguage, S>;
[INFO] [stderr]    |                 ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `oak-lean` (lib) generated 4 warnings (run `cargo fix --lib -p oak-lean` to apply 2 suggestions)
[INFO] [stderr] warning: `oak-lean` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oak_lean-a6ece019262456b3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/main.rs (/opt/rustwide/target/debug/deps/main-956f2f8e33428b49)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test ready ... ok
[INFO] [stdout] test lexer::test_lean_lexer ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- lexer::test_lean_lexer stdout ----
[INFO] [stdout] Testing file: /opt/rustwide/workdir/tests/lexer/basic.lean
[INFO] [stdout] Error: TestFailure { path: "/opt/rustwide/workdir/tests/lexer/basic.lean", expected: "LexerTestExpected {\n    success: true,\n    count: 100,\n    tokens: [\n        TokenData {\n            kind: \"Universe\",\n            text: \"universe\",\n            start: 150,\n            end: 158,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"u\",\n            start: 159,\n            end: 160,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"v\",\n            start: 161,\n            end: 162,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"w\",\n            start: 163,\n            end: 164,\n        },\n        TokenData {\n            kind: \"Namespace\",\n            text: \"namespace\",\n            start: 195,\n            end: 204,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"BasicTypes\",\n            start: 205,\n            end: 215,\n        },\n        TokenData {\n            kind: \"Inductive\",\n            text: \"inductive\",\n            start: 246,\n            end: 255,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 256,\n            end: 260,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 261,\n            end: 262,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 263,\n            end: 267,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 268,\n            end: 273,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 277,\n            end: 278,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 279,\n            end: 283,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 284,\n            end: 285,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 286,\n            end: 290,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 294,\n            end: 295,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"false\",\n            start: 296,\n            end: 301,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 302,\n            end: 303,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 304,\n            end: 308,\n        },\n        TokenData {\n            kind: \"Inductive\",\n            text: \"inductive\",\n            start: 312,\n            end: 321,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 322,\n            end: 325,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 326,\n            end: 327,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 328,\n            end: 332,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 333,\n            end: 338,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 342,\n            end: 343,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 344,\n            end: 348,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 349,\n            end: 350,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 351,\n            end: 354,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 358,\n            end: 359,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 360,\n            end: 364,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 365,\n            end: 366,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 367,\n            end: 370,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 371,\n            end: 374,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 375,\n            end: 378,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 417,\n            end: 420,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"not\",\n            start: 421,\n            end: 424,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 425,\n            end: 426,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 427,\n            end: 431,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 432,\n            end: 435,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 436,\n            end: 440,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 444,\n            end: 445,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 446,\n            end: 450,\n        },\n        TokenData {\n            kind: \"Dot\",\n            text: \".\",\n            start: 450,\n            end: 451,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 451,\n            end: 455,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 456,\n            end: 457,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 457,\n            end: 458,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 459,\n            end: 463,\n        },\n        TokenData {\n            kind: \"Dot\",\n            text: \".\",\n            start: 463,\n            end: 464,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"false\",\n            start: 464,\n            end: 469,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 473,\n            end: 474,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 475,\n            end: 479,\n        },\n        TokenData {\n            kind: \"Dot\",\n            text: \".\",\n            start: 479,\n            end: 480,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"false\",\n            start: 480,\n            end: 485,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 486,\n            end: 487,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 487,\n            end: 488,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 489,\n            end: 493,\n        },\n        TokenData {\n            kind: \"Dot\",\n            text: \".\",\n            start: 493,\n            end: 494,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 494,\n            end: 498,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 502,\n            end: 505,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add\",\n            start: 506,\n            end: 509,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 510,\n            end: 511,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 512,\n            end: 515,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 516,\n            end: 519,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 520,\n            end: 523,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 524,\n            end: 527,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 528,\n            end: 531,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 535,\n            end: 536,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 537,\n            end: 540,\n        },\n        TokenData {\n            kind: \"Dot\",\n            text: \".\",\n            start: 540,\n            end: 541,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 541,\n            end: 545,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 545,\n            end: 546,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 547,\n            end: 548,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 549,\n            end: 550,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 550,\n            end: 551,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 552,\n            end: 553,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 557,\n            end: 558,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 559,\n            end: 562,\n        },\n        TokenData {\n            kind: \"Dot\",\n            text: \".\",\n            start: 562,\n            end: 563,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 563,\n            end: 567,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 568,\n            end: 569,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 569,\n            end: 570,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 571,\n            end: 572,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 573,\n            end: 574,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 574,\n            end: 575,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 576,\n            end: 579,\n        },\n        TokenData {\n            kind: \"Dot\",\n            text: \".\",\n            start: 579,\n            end: 580,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 580,\n            end: 584,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 585,\n            end: 586,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add\",\n            start: 586,\n            end: 589,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 590,\n            end: 591,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 592,\n            end: 593,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 593,\n            end: 594,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 598,\n            end: 601,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 602,\n            end: 605,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 606,\n            end: 607,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 608,\n            end: 611,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 612,\n            end: 615,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 616,\n            end: 619,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 620,\n            end: 623,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 624,\n            end: 627,\n        },\n    ],\n    errors: [],\n}", actual: "LexerTestExpected {\n    success: true,\n    count: 5898,\n    tokens: [\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Lean 4 Test File - Comprehensive Syntax Coverage\",\n            start: 0,\n            end: 51,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 51,\n            end: 53,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- This file tests various Lean 4 syntax elements for lexer testing\",\n            start: 53,\n            end: 120,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 120,\n            end: 122,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 122,\n            end: 124,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Universe declarations\",\n            start: 124,\n            end: 148,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 148,\n            end: 150,\n        },\n        TokenData {\n            kind: \"Universe\",\n            text: \"universe\",\n            start: 150,\n            end: 158,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 158,\n            end: 159,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"u\",\n            start: 159,\n            end: 160,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 160,\n            end: 161,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"v\",\n            start: 161,\n            end: 162,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 162,\n            end: 163,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"w\",\n            start: 163,\n            end: 164,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 164,\n            end: 166,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 166,\n            end: 168,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Namespace declarations\",\n            start: 168,\n            end: 193,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 193,\n            end: 195,\n        },\n        TokenData {\n            kind: \"Namespace\",\n            text: \"namespace\",\n            start: 195,\n            end: 204,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 204,\n            end: 205,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"BasicTypes\",\n            start: 205,\n            end: 215,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 215,\n            end: 217,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 217,\n            end: 219,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Basic type definitions\",\n            start: 219,\n            end: 244,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 244,\n            end: 246,\n        },\n        TokenData {\n            kind: \"Inductive\",\n            text: \"inductive\",\n            start: 246,\n            end: 255,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 255,\n            end: 256,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 256,\n            end: 260,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 260,\n            end: 261,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 261,\n            end: 262,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 262,\n            end: 263,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 263,\n            end: 267,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 267,\n            end: 268,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 268,\n            end: 273,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 273,\n            end: 275,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 275,\n            end: 279,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 279,\n            end: 280,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 280,\n            end: 281,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 281,\n            end: 285,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 285,\n            end: 286,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 286,\n            end: 287,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 287,\n            end: 288,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 288,\n            end: 292,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 292,\n            end: 294,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 294,\n            end: 298,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 298,\n            end: 299,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 299,\n            end: 300,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"false\",\n            start: 300,\n            end: 305,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 305,\n            end: 306,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 306,\n            end: 307,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 307,\n            end: 308,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 308,\n            end: 312,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 312,\n            end: 314,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 314,\n            end: 316,\n        },\n        TokenData {\n            kind: \"Inductive\",\n            text: \"inductive\",\n            start: 316,\n            end: 325,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 325,\n            end: 326,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 326,\n            end: 329,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 329,\n            end: 330,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 330,\n            end: 331,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 331,\n            end: 332,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 332,\n            end: 336,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 336,\n            end: 337,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 337,\n            end: 342,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 342,\n            end: 344,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 344,\n            end: 348,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 348,\n            end: 349,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 349,\n            end: 350,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 350,\n            end: 354,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 354,\n            end: 355,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 355,\n            end: 356,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 356,\n            end: 357,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 357,\n            end: 360,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 360,\n            end: 362,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 362,\n            end: 366,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 366,\n            end: 367,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 367,\n            end: 368,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 368,\n            end: 372,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 372,\n            end: 373,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 373,\n            end: 374,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 374,\n            end: 375,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 375,\n            end: 378,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 378,\n            end: 379,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 379,\n            end: 382,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 382,\n            end: 383,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 383,\n            end: 386,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 386,\n            end: 388,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 388,\n            end: 390,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Pattern matching and recursion\",\n            start: 390,\n            end: 423,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 423,\n            end: 425,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 425,\n            end: 428,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 428,\n            end: 429,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"not\",\n            start: 429,\n            end: 432,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 432,\n            end: 433,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 433,\n            end: 434,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 434,\n            end: 435,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 435,\n            end: 439,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 439,\n            end: 440,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 440,\n            end: 443,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 443,\n            end: 444,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 444,\n            end: 448,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 448,\n            end: 450,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 450,\n            end: 454,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 454,\n            end: 455,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 455,\n            end: 456,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 456,\n            end: 460,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 460,\n            end: 461,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 461,\n            end: 465,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 465,\n            end: 466,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 466,\n            end: 467,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 467,\n            end: 468,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 468,\n            end: 469,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 469,\n            end: 473,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 473,\n            end: 474,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"false\",\n            start: 474,\n            end: 479,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 479,\n            end: 481,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 481,\n            end: 485,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 485,\n            end: 486,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 486,\n            end: 487,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 487,\n            end: 491,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 491,\n            end: 492,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"false\",\n            start: 492,\n            end: 497,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 497,\n            end: 498,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 498,\n            end: 499,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 499,\n            end: 500,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 500,\n            end: 501,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 501,\n            end: 505,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 505,\n            end: 506,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 506,\n            end: 510,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 510,\n            end: 512,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 512,\n            end: 514,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 514,\n            end: 517,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 517,\n            end: 518,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add\",\n            start: 518,\n            end: 521,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 521,\n            end: 522,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 522,\n            end: 523,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 523,\n            end: 524,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 524,\n            end: 527,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 527,\n            end: 528,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 528,\n            end: 531,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 531,\n            end: 532,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 532,\n            end: 535,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 535,\n            end: 536,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 536,\n            end: 539,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 539,\n            end: 540,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 540,\n            end: 543,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 543,\n            end: 545,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 545,\n            end: 549,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 549,\n            end: 550,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 550,\n            end: 551,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 551,\n            end: 554,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 554,\n            end: 555,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 555,\n            end: 559,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 559,\n            end: 560,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 560,\n            end: 561,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 561,\n            end: 562,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 562,\n            end: 563,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 563,\n            end: 564,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 564,\n            end: 565,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 565,\n            end: 566,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 566,\n            end: 567,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 567,\n            end: 569,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 569,\n            end: 573,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 573,\n            end: 574,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 574,\n            end: 575,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 575,\n            end: 578,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 578,\n            end: 579,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 579,\n            end: 583,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 583,\n            end: 584,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 584,\n            end: 585,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 585,\n            end: 586,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 586,\n            end: 587,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 587,\n            end: 588,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 588,\n            end: 589,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 589,\n            end: 590,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 590,\n            end: 591,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 591,\n            end: 592,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 592,\n            end: 595,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 595,\n            end: 596,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 596,\n            end: 600,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 600,\n            end: 601,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 601,\n            end: 602,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add\",\n            start: 602,\n            end: 605,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 605,\n            end: 606,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 606,\n            end: 607,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 607,\n            end: 608,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 608,\n            end: 609,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 609,\n            end: 610,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 610,\n            end: 612,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 612,\n            end: 614,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 614,\n            end: 617,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 617,\n            end: 618,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 618,\n            end: 621,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 621,\n            end: 622,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 622,\n            end: 623,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 623,\n            end: 624,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 624,\n            end: 627,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 627,\n            end: 628,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 628,\n            end: 631,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 631,\n            end: 632,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 632,\n            end: 635,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 635,\n            end: 636,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 636,\n            end: 639,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 639,\n            end: 640,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 640,\n            end: 643,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 643,\n            end: 645,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 645,\n            end: 649,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 649,\n            end: 650,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 650,\n            end: 651,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 651,\n            end: 654,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 654,\n            end: 655,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 655,\n            end: 659,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 659,\n            end: 660,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 660,\n            end: 661,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 661,\n            end: 662,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 662,\n            end: 663,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 663,\n            end: 664,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 664,\n            end: 665,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 665,\n            end: 666,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 666,\n            end: 669,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 669,\n            end: 670,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 670,\n            end: 674,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 674,\n            end: 676,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 676,\n            end: 680,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 680,\n            end: 681,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 681,\n            end: 682,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 682,\n            end: 685,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 685,\n            end: 686,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 686,\n            end: 690,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 690,\n            end: 691,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 691,\n            end: 692,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 692,\n            end: 693,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 693,\n            end: 694,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 694,\n            end: 695,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 695,\n            end: 696,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 696,\n            end: 697,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 697,\n            end: 698,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 698,\n            end: 699,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add\",\n            start: 699,\n            end: 702,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 702,\n            end: 703,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 703,\n            end: 704,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 704,\n            end: 705,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 705,\n            end: 706,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 706,\n            end: 709,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 709,\n            end: 710,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 710,\n            end: 711,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 711,\n            end: 712,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 712,\n            end: 713,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 713,\n            end: 714,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 714,\n            end: 716,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 716,\n            end: 718,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Function definitions with where clause\",\n            start: 718,\n            end: 759,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 759,\n            end: 761,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 761,\n            end: 764,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 764,\n            end: 765,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"factorial\",\n            start: 765,\n            end: 774,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 774,\n            end: 775,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 775,\n            end: 776,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 776,\n            end: 777,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 777,\n            end: 780,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 780,\n            end: 781,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 781,\n            end: 784,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 784,\n            end: 785,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 785,\n            end: 788,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 788,\n            end: 789,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 789,\n            end: 790,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 790,\n            end: 791,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 791,\n            end: 792,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 792,\n            end: 795,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 795,\n            end: 796,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 796,\n            end: 797,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 797,\n            end: 798,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 798,\n            end: 799,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 799,\n            end: 800,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 800,\n            end: 802,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 802,\n            end: 806,\n        },\n        TokenData {\n            kind: \"Match\",\n            text: \"match\",\n            start: 806,\n            end: 811,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 811,\n            end: 812,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 812,\n            end: 813,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 813,\n            end: 814,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 814,\n            end: 818,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 818,\n            end: 820,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 820,\n            end: 824,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 824,\n            end: 825,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 825,\n            end: 826,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 826,\n            end: 829,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 829,\n            end: 830,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 830,\n            end: 834,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 834,\n            end: 835,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 835,\n            end: 836,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 836,\n            end: 837,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 837,\n            end: 838,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 838,\n            end: 841,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 841,\n            end: 842,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 842,\n            end: 846,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 846,\n            end: 847,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 847,\n            end: 850,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 850,\n            end: 851,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 851,\n            end: 855,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 855,\n            end: 857,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 857,\n            end: 861,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 861,\n            end: 862,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 862,\n            end: 863,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 863,\n            end: 866,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 866,\n            end: 867,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 867,\n            end: 871,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 871,\n            end: 872,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"k\",\n            start: 872,\n            end: 873,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 873,\n            end: 874,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 874,\n            end: 875,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 875,\n            end: 876,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 876,\n            end: 877,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 877,\n            end: 880,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 880,\n            end: 881,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 881,\n            end: 882,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 882,\n            end: 885,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 885,\n            end: 886,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 886,\n            end: 890,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 890,\n            end: 891,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"k\",\n            start: 891,\n            end: 892,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 892,\n            end: 893,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 893,\n            end: 894,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 894,\n            end: 895,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"factorial\",\n            start: 895,\n            end: 904,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 904,\n            end: 905,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"k\",\n            start: 905,\n            end: 906,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 906,\n            end: 907,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 907,\n            end: 909,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 909,\n            end: 913,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 913,\n            end: 918,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 918,\n            end: 920,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 920,\n            end: 928,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"helper\",\n            start: 928,\n            end: 934,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 934,\n            end: 935,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 935,\n            end: 936,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 936,\n            end: 937,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 937,\n            end: 940,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 940,\n            end: 941,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 941,\n            end: 944,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 944,\n            end: 945,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 945,\n            end: 948,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 948,\n            end: 949,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 949,\n            end: 952,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 952,\n            end: 953,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 953,\n            end: 956,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 956,\n            end: 958,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 958,\n            end: 970,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 970,\n            end: 971,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 971,\n            end: 972,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 972,\n            end: 975,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 975,\n            end: 976,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 976,\n            end: 980,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 980,\n            end: 981,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 981,\n            end: 982,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"acc\",\n            start: 982,\n            end: 985,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 985,\n            end: 986,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 986,\n            end: 987,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 987,\n            end: 988,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 988,\n            end: 989,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"acc\",\n            start: 989,\n            end: 992,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 992,\n            end: 994,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 994,\n            end: 1006,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 1006,\n            end: 1007,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1007,\n            end: 1008,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 1008,\n            end: 1011,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1011,\n            end: 1012,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 1012,\n            end: 1016,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1016,\n            end: 1017,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 1017,\n            end: 1018,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1018,\n            end: 1019,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1019,\n            end: 1020,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"acc\",\n            start: 1020,\n            end: 1023,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1023,\n            end: 1024,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 1024,\n            end: 1025,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 1025,\n            end: 1026,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1026,\n            end: 1027,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"helper\",\n            start: 1027,\n            end: 1033,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1033,\n            end: 1034,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 1034,\n            end: 1035,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1035,\n            end: 1036,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1036,\n            end: 1037,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 1037,\n            end: 1040,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1040,\n            end: 1041,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1041,\n            end: 1042,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 1042,\n            end: 1045,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1045,\n            end: 1046,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 1046,\n            end: 1050,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1050,\n            end: 1051,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 1051,\n            end: 1052,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1052,\n            end: 1053,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1053,\n            end: 1054,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"acc\",\n            start: 1054,\n            end: 1057,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1057,\n            end: 1058,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1058,\n            end: 1060,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1060,\n            end: 1062,\n        },\n        TokenData {\n            kind: \"End\",\n            text: \"end\",\n            start: 1062,\n            end: 1065,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1065,\n            end: 1066,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"BasicTypes\",\n            start: 1066,\n            end: 1076,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1076,\n            end: 1078,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1078,\n            end: 1080,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Import statements\",\n            start: 1080,\n            end: 1100,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1100,\n            end: 1102,\n        },\n        TokenData {\n            kind: \"Import\",\n            text: \"import\",\n            start: 1102,\n            end: 1108,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1108,\n            end: 1109,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Std\",\n            start: 1109,\n            end: 1112,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1112,\n            end: 1113,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Data\",\n            start: 1113,\n            end: 1117,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1117,\n            end: 1118,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 1118,\n            end: 1122,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1122,\n            end: 1123,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Basic\",\n            start: 1123,\n            end: 1128,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1128,\n            end: 1130,\n        },\n        TokenData {\n            kind: \"Import\",\n            text: \"import\",\n            start: 1130,\n            end: 1136,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1136,\n            end: 1137,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Std\",\n            start: 1137,\n            end: 1140,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1140,\n            end: 1141,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Data\",\n            start: 1141,\n            end: 1145,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1145,\n            end: 1146,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 1146,\n            end: 1149,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1149,\n            end: 1150,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Basic\",\n            start: 1150,\n            end: 1155,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1155,\n            end: 1157,\n        },\n        TokenData {\n            kind: \"Import\",\n            text: \"import\",\n            start: 1157,\n            end: 1163,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1163,\n            end: 1164,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Mathlib\",\n            start: 1164,\n            end: 1171,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1171,\n            end: 1172,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Data\",\n            start: 1172,\n            end: 1176,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1176,\n            end: 1177,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Real\",\n            start: 1177,\n            end: 1181,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 1181,\n            end: 1182,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Basic\",\n            start: 1182,\n            end: 1187,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1187,\n            end: 1189,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1189,\n            end: 1191,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Open namespaces\",\n            start: 1191,\n            end: 1209,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1209,\n            end: 1211,\n        },\n        TokenData {\n            kind: \"Open\",\n            text: \"open\",\n            start: 1211,\n            end: 1215,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1215,\n            end: 1216,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 1216,\n            end: 1220,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1220,\n            end: 1221,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 1221,\n            end: 1224,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1224,\n            end: 1226,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1226,\n            end: 1228,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Variable declarations\",\n            start: 1228,\n            end: 1252,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1252,\n            end: 1254,\n        },\n        TokenData {\n            kind: \"Variable\",\n            text: \"variable\",\n            start: 1254,\n            end: 1262,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1262,\n            end: 1263,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1263,\n            end: 1264,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1264,\n            end: 1266,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1266,\n            end: 1267,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 1267,\n            end: 1269,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1269,\n            end: 1270,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 1270,\n            end: 1272,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1272,\n            end: 1273,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1273,\n            end: 1274,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1274,\n            end: 1275,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 1275,\n            end: 1279,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 1279,\n            end: 1280,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1280,\n            end: 1281,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1281,\n            end: 1282,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 1282,\n            end: 1283,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Inhabited\",\n            start: 1283,\n            end: 1292,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1292,\n            end: 1293,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1293,\n            end: 1295,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 1295,\n            end: 1296,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1296,\n            end: 1298,\n        },\n        TokenData {\n            kind: \"Variable\",\n            text: \"variable\",\n            start: 1298,\n            end: 1306,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1306,\n            end: 1307,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1307,\n            end: 1308,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 1308,\n            end: 1309,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1309,\n            end: 1310,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"q\",\n            start: 1310,\n            end: 1311,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1311,\n            end: 1312,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 1312,\n            end: 1313,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1313,\n            end: 1314,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1314,\n            end: 1315,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1315,\n            end: 1316,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Prop\",\n            start: 1316,\n            end: 1320,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1320,\n            end: 1321,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1321,\n            end: 1323,\n        },\n        TokenData {\n            kind: \"Variable\",\n            text: \"variable\",\n            start: 1323,\n            end: 1331,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1331,\n            end: 1332,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1332,\n            end: 1333,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 1333,\n            end: 1334,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1334,\n            end: 1335,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 1335,\n            end: 1336,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1336,\n            end: 1337,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"z\",\n            start: 1337,\n            end: 1338,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1338,\n            end: 1339,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1339,\n            end: 1340,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1340,\n            end: 1341,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 1341,\n            end: 1344,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1344,\n            end: 1345,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1345,\n            end: 1347,\n        },\n        TokenData {\n            kind: \"Variable\",\n            text: \"variable\",\n            start: 1347,\n            end: 1355,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1355,\n            end: 1356,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1356,\n            end: 1357,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 1357,\n            end: 1358,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1358,\n            end: 1359,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 1359,\n            end: 1360,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1360,\n            end: 1361,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1361,\n            end: 1362,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1362,\n            end: 1363,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1363,\n            end: 1365,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1365,\n            end: 1366,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 1366,\n            end: 1369,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1369,\n            end: 1370,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 1370,\n            end: 1372,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1372,\n            end: 1373,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1373,\n            end: 1375,\n        },\n        TokenData {\n            kind: \"Variable\",\n            text: \"variable\",\n            start: 1375,\n            end: 1383,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1383,\n            end: 1384,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1384,\n            end: 1385,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 1385,\n            end: 1386,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1386,\n            end: 1387,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1387,\n            end: 1388,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1388,\n            end: 1389,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 1389,\n            end: 1391,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1391,\n            end: 1392,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 1392,\n            end: 1395,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1395,\n            end: 1396,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 1396,\n            end: 1398,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1398,\n            end: 1399,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1399,\n            end: 1401,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1401,\n            end: 1403,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Axiom declarations\",\n            start: 1403,\n            end: 1424,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1424,\n            end: 1426,\n        },\n        TokenData {\n            kind: \"Axiom\",\n            text: \"axiom\",\n            start: 1426,\n            end: 1431,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1431,\n            end: 1432,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"choice\",\n            start: 1432,\n            end: 1438,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1438,\n            end: 1439,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1439,\n            end: 1440,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1440,\n            end: 1441,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 1441,\n            end: 1444,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1444,\n            end: 1445,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1445,\n            end: 1446,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1446,\n            end: 1448,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1448,\n            end: 1449,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1449,\n            end: 1450,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1450,\n            end: 1451,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 1451,\n            end: 1455,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 1455,\n            end: 1456,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1456,\n            end: 1457,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1457,\n            end: 1458,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1458,\n            end: 1459,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 1459,\n            end: 1460,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1460,\n            end: 1461,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1461,\n            end: 1462,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1462,\n            end: 1463,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1463,\n            end: 1465,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1465,\n            end: 1466,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 1466,\n            end: 1469,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1469,\n            end: 1470,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Prop\",\n            start: 1470,\n            end: 1474,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1474,\n            end: 1475,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1475,\n            end: 1476,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1476,\n            end: 1477,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1477,\n            end: 1478,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∃\",\n            start: 1478,\n            end: 1481,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1481,\n            end: 1482,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 1482,\n            end: 1483,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1483,\n            end: 1484,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1484,\n            end: 1485,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 1485,\n            end: 1486,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1486,\n            end: 1487,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 1487,\n            end: 1488,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1488,\n            end: 1489,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1489,\n            end: 1490,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 1490,\n            end: 1493,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1493,\n            end: 1494,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1494,\n            end: 1496,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1496,\n            end: 1498,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1498,\n            end: 1500,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Constant declarations\",\n            start: 1500,\n            end: 1524,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1524,\n            end: 1526,\n        },\n        TokenData {\n            kind: \"Constant\",\n            text: \"constant\",\n            start: 1526,\n            end: 1534,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1534,\n            end: 1535,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"π\",\n            start: 1535,\n            end: 1537,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1537,\n            end: 1538,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1538,\n            end: 1539,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1539,\n            end: 1540,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℝ\",\n            start: 1540,\n            end: 1543,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1543,\n            end: 1545,\n        },\n        TokenData {\n            kind: \"Constant\",\n            text: \"constant\",\n            start: 1545,\n            end: 1553,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1553,\n            end: 1554,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"e\",\n            start: 1554,\n            end: 1555,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1555,\n            end: 1556,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1556,\n            end: 1557,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1557,\n            end: 1558,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℝ\",\n            start: 1558,\n            end: 1561,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1561,\n            end: 1563,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1563,\n            end: 1565,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Structure definitions\",\n            start: 1565,\n            end: 1589,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1589,\n            end: 1591,\n        },\n        TokenData {\n            kind: \"Structure\",\n            text: \"structure\",\n            start: 1591,\n            end: 1600,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1600,\n            end: 1601,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Point\",\n            start: 1601,\n            end: 1606,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1606,\n            end: 1607,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1607,\n            end: 1608,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1608,\n            end: 1610,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1610,\n            end: 1611,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1611,\n            end: 1612,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1612,\n            end: 1613,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 1613,\n            end: 1617,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 1617,\n            end: 1618,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1618,\n            end: 1619,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1619,\n            end: 1620,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 1620,\n            end: 1625,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1625,\n            end: 1627,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 1627,\n            end: 1631,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 1631,\n            end: 1632,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1632,\n            end: 1633,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1633,\n            end: 1634,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1634,\n            end: 1635,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1635,\n            end: 1637,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1637,\n            end: 1639,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 1639,\n            end: 1643,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 1643,\n            end: 1644,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1644,\n            end: 1645,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1645,\n            end: 1646,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1646,\n            end: 1647,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1647,\n            end: 1649,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1649,\n            end: 1651,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1651,\n            end: 1653,\n        },\n        TokenData {\n            kind: \"Structure\",\n            text: \"structure\",\n            start: 1653,\n            end: 1662,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1662,\n            end: 1663,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Vector\",\n            start: 1663,\n            end: 1669,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1669,\n            end: 1670,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1670,\n            end: 1671,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1671,\n            end: 1673,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1673,\n            end: 1674,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1674,\n            end: 1675,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1675,\n            end: 1676,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 1676,\n            end: 1680,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 1680,\n            end: 1681,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1681,\n            end: 1682,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1682,\n            end: 1683,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 1683,\n            end: 1684,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Add\",\n            start: 1684,\n            end: 1687,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1687,\n            end: 1688,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1688,\n            end: 1690,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 1690,\n            end: 1691,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1691,\n            end: 1692,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 1692,\n            end: 1697,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1697,\n            end: 1699,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 1699,\n            end: 1703,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"components\",\n            start: 1703,\n            end: 1713,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1713,\n            end: 1714,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1714,\n            end: 1715,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1715,\n            end: 1716,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 1716,\n            end: 1720,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1720,\n            end: 1721,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1721,\n            end: 1723,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1723,\n            end: 1725,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"  \",\n            start: 1725,\n            end: 1727,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1727,\n            end: 1729,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Class definitions\",\n            start: 1729,\n            end: 1749,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1749,\n            end: 1751,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"class\",\n            start: 1751,\n            end: 1756,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1756,\n            end: 1757,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Monoid\",\n            start: 1757,\n            end: 1763,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1763,\n            end: 1764,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1764,\n            end: 1765,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1765,\n            end: 1767,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1767,\n            end: 1768,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1768,\n            end: 1769,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1769,\n            end: 1770,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 1770,\n            end: 1774,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 1774,\n            end: 1775,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1775,\n            end: 1776,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1776,\n            end: 1777,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 1777,\n            end: 1782,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1782,\n            end: 1784,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 1784,\n            end: 1788,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"one\",\n            start: 1788,\n            end: 1791,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1791,\n            end: 1792,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1792,\n            end: 1793,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1793,\n            end: 1794,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1794,\n            end: 1796,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1796,\n            end: 1798,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 1798,\n            end: 1802,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 1802,\n            end: 1805,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1805,\n            end: 1806,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1806,\n            end: 1807,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1807,\n            end: 1808,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1808,\n            end: 1810,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1810,\n            end: 1811,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 1811,\n            end: 1814,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1814,\n            end: 1815,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1815,\n            end: 1817,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1817,\n            end: 1818,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 1818,\n            end: 1821,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1821,\n            end: 1822,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1822,\n            end: 1824,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1824,\n            end: 1826,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 1826,\n            end: 1830,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"left_one\",\n            start: 1830,\n            end: 1838,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1838,\n            end: 1839,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1839,\n            end: 1840,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1840,\n            end: 1841,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 1841,\n            end: 1844,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1844,\n            end: 1845,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1845,\n            end: 1846,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1846,\n            end: 1847,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1847,\n            end: 1848,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1848,\n            end: 1849,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1849,\n            end: 1851,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1851,\n            end: 1852,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1852,\n            end: 1853,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 1853,\n            end: 1856,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1856,\n            end: 1857,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"one\",\n            start: 1857,\n            end: 1860,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1860,\n            end: 1861,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1861,\n            end: 1862,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1862,\n            end: 1863,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 1863,\n            end: 1864,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1864,\n            end: 1865,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1865,\n            end: 1866,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1866,\n            end: 1868,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 1868,\n            end: 1872,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"right_one\",\n            start: 1872,\n            end: 1881,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1881,\n            end: 1882,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1882,\n            end: 1883,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1883,\n            end: 1884,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 1884,\n            end: 1887,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1887,\n            end: 1888,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1888,\n            end: 1889,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1889,\n            end: 1890,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1890,\n            end: 1891,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1891,\n            end: 1892,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1892,\n            end: 1894,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1894,\n            end: 1895,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1895,\n            end: 1896,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 1896,\n            end: 1899,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1899,\n            end: 1900,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1900,\n            end: 1901,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1901,\n            end: 1902,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"one\",\n            start: 1902,\n            end: 1905,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1905,\n            end: 1906,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 1906,\n            end: 1907,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1907,\n            end: 1908,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1908,\n            end: 1909,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1909,\n            end: 1911,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 1911,\n            end: 1915,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"assoc\",\n            start: 1915,\n            end: 1920,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1920,\n            end: 1921,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1921,\n            end: 1922,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1922,\n            end: 1923,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 1923,\n            end: 1926,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1926,\n            end: 1927,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1927,\n            end: 1928,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1928,\n            end: 1929,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 1929,\n            end: 1930,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1930,\n            end: 1931,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 1931,\n            end: 1932,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1932,\n            end: 1933,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1933,\n            end: 1934,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1934,\n            end: 1935,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1935,\n            end: 1937,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1937,\n            end: 1938,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1938,\n            end: 1939,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 1939,\n            end: 1942,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1942,\n            end: 1943,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1943,\n            end: 1944,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 1944,\n            end: 1947,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1947,\n            end: 1948,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1948,\n            end: 1949,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1949,\n            end: 1950,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 1950,\n            end: 1951,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1951,\n            end: 1952,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1952,\n            end: 1953,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 1953,\n            end: 1954,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1954,\n            end: 1955,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 1955,\n            end: 1956,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1956,\n            end: 1957,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 1957,\n            end: 1960,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1960,\n            end: 1961,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1961,\n            end: 1962,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1962,\n            end: 1963,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1963,\n            end: 1964,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 1964,\n            end: 1967,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1967,\n            end: 1968,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 1968,\n            end: 1969,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1969,\n            end: 1970,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 1970,\n            end: 1971,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1971,\n            end: 1972,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1972,\n            end: 1974,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1974,\n            end: 1976,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"class\",\n            start: 1976,\n            end: 1981,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1981,\n            end: 1982,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Group\",\n            start: 1982,\n            end: 1987,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1987,\n            end: 1988,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1988,\n            end: 1989,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 1989,\n            end: 1991,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1991,\n            end: 1992,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 1992,\n            end: 1993,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1993,\n            end: 1994,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 1994,\n            end: 1998,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 1998,\n            end: 1999,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1999,\n            end: 2000,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2000,\n            end: 2001,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"extends\",\n            start: 2001,\n            end: 2008,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2008,\n            end: 2009,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Monoid\",\n            start: 2009,\n            end: 2015,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2015,\n            end: 2016,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2016,\n            end: 2018,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2018,\n            end: 2019,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 2019,\n            end: 2024,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2024,\n            end: 2026,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2026,\n            end: 2030,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"inv\",\n            start: 2030,\n            end: 2033,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2033,\n            end: 2034,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2034,\n            end: 2035,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2035,\n            end: 2036,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2036,\n            end: 2038,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2038,\n            end: 2039,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2039,\n            end: 2042,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2042,\n            end: 2043,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2043,\n            end: 2045,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2045,\n            end: 2047,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2047,\n            end: 2051,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"left_inv\",\n            start: 2051,\n            end: 2059,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2059,\n            end: 2060,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2060,\n            end: 2061,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2061,\n            end: 2062,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 2062,\n            end: 2065,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2065,\n            end: 2066,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 2066,\n            end: 2067,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2067,\n            end: 2068,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2068,\n            end: 2069,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2069,\n            end: 2070,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2070,\n            end: 2072,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2072,\n            end: 2073,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2073,\n            end: 2074,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 2074,\n            end: 2077,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2077,\n            end: 2078,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2078,\n            end: 2079,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"inv\",\n            start: 2079,\n            end: 2082,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2082,\n            end: 2083,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 2083,\n            end: 2084,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2084,\n            end: 2085,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2085,\n            end: 2086,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 2086,\n            end: 2087,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2087,\n            end: 2088,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 2088,\n            end: 2089,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2089,\n            end: 2090,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"one\",\n            start: 2090,\n            end: 2093,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2093,\n            end: 2095,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2095,\n            end: 2097,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Instance definitions\",\n            start: 2097,\n            end: 2120,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2120,\n            end: 2122,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"instance\",\n            start: 2122,\n            end: 2130,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2130,\n            end: 2131,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2131,\n            end: 2132,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2132,\n            end: 2133,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Monoid\",\n            start: 2133,\n            end: 2139,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2139,\n            end: 2140,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 2140,\n            end: 2143,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2143,\n            end: 2144,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 2144,\n            end: 2149,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2149,\n            end: 2151,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2151,\n            end: 2155,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"one\",\n            start: 2155,\n            end: 2158,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2158,\n            end: 2159,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2159,\n            end: 2160,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 2160,\n            end: 2161,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2161,\n            end: 2162,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 2162,\n            end: 2163,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2163,\n            end: 2165,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2165,\n            end: 2169,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mul\",\n            start: 2169,\n            end: 2172,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2172,\n            end: 2173,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2173,\n            end: 2174,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 2174,\n            end: 2175,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2175,\n            end: 2176,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2176,\n            end: 2177,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 2177,\n            end: 2179,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2179,\n            end: 2180,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 2180,\n            end: 2181,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2181,\n            end: 2182,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 2182,\n            end: 2184,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2184,\n            end: 2185,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2185,\n            end: 2187,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2187,\n            end: 2191,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"left_one\",\n            start: 2191,\n            end: 2199,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2199,\n            end: 2200,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2200,\n            end: 2201,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 2201,\n            end: 2202,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2202,\n            end: 2203,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 2203,\n            end: 2206,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 2206,\n            end: 2207,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero_add\",\n            start: 2207,\n            end: 2215,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2215,\n            end: 2217,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2217,\n            end: 2221,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"right_one\",\n            start: 2221,\n            end: 2230,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2230,\n            end: 2231,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2231,\n            end: 2232,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 2232,\n            end: 2233,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2233,\n            end: 2234,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 2234,\n            end: 2237,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 2237,\n            end: 2238,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_zero\",\n            start: 2238,\n            end: 2246,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2246,\n            end: 2248,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2248,\n            end: 2252,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"assoc\",\n            start: 2252,\n            end: 2257,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2257,\n            end: 2258,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2258,\n            end: 2259,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 2259,\n            end: 2260,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2260,\n            end: 2261,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 2261,\n            end: 2264,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 2264,\n            end: 2265,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_assoc\",\n            start: 2265,\n            end: 2274,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2274,\n            end: 2276,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2276,\n            end: 2278,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Inductive types with parameters\",\n            start: 2278,\n            end: 2312,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2312,\n            end: 2314,\n        },\n        TokenData {\n            kind: \"Inductive\",\n            text: \"inductive\",\n            start: 2314,\n            end: 2323,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2323,\n            end: 2324,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 2324,\n            end: 2328,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2328,\n            end: 2329,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2329,\n            end: 2330,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2330,\n            end: 2332,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2332,\n            end: 2333,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2333,\n            end: 2334,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2334,\n            end: 2335,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 2335,\n            end: 2339,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 2339,\n            end: 2340,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2340,\n            end: 2341,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2341,\n            end: 2342,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2342,\n            end: 2343,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2343,\n            end: 2344,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 2344,\n            end: 2348,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 2348,\n            end: 2349,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2349,\n            end: 2350,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 2350,\n            end: 2355,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2355,\n            end: 2357,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2357,\n            end: 2361,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 2361,\n            end: 2362,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2362,\n            end: 2363,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nil\",\n            start: 2363,\n            end: 2366,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2366,\n            end: 2367,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2367,\n            end: 2368,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2368,\n            end: 2369,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 2369,\n            end: 2373,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2373,\n            end: 2374,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2374,\n            end: 2376,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2376,\n            end: 2378,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2378,\n            end: 2382,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 2382,\n            end: 2383,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2383,\n            end: 2384,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cons\",\n            start: 2384,\n            end: 2388,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2388,\n            end: 2389,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2389,\n            end: 2390,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2390,\n            end: 2391,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2391,\n            end: 2393,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2393,\n            end: 2394,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2394,\n            end: 2397,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2397,\n            end: 2398,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 2398,\n            end: 2402,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2402,\n            end: 2403,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2403,\n            end: 2405,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2405,\n            end: 2406,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2406,\n            end: 2409,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2409,\n            end: 2410,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 2410,\n            end: 2414,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2414,\n            end: 2415,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2415,\n            end: 2417,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2417,\n            end: 2419,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2419,\n            end: 2421,\n        },\n        TokenData {\n            kind: \"Inductive\",\n            text: \"inductive\",\n            start: 2421,\n            end: 2430,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2430,\n            end: 2431,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Tree\",\n            start: 2431,\n            end: 2435,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2435,\n            end: 2436,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2436,\n            end: 2437,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2437,\n            end: 2439,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2439,\n            end: 2440,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2440,\n            end: 2441,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2441,\n            end: 2442,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 2442,\n            end: 2446,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 2446,\n            end: 2447,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2447,\n            end: 2448,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2448,\n            end: 2449,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2449,\n            end: 2450,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2450,\n            end: 2451,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 2451,\n            end: 2455,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 2455,\n            end: 2456,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2456,\n            end: 2457,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 2457,\n            end: 2462,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2462,\n            end: 2464,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2464,\n            end: 2468,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 2468,\n            end: 2469,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2469,\n            end: 2470,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"leaf\",\n            start: 2470,\n            end: 2474,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2474,\n            end: 2475,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2475,\n            end: 2476,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2476,\n            end: 2477,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2477,\n            end: 2479,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2479,\n            end: 2480,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2480,\n            end: 2483,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2483,\n            end: 2484,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Tree\",\n            start: 2484,\n            end: 2488,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2488,\n            end: 2489,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2489,\n            end: 2491,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2491,\n            end: 2493,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2493,\n            end: 2497,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 2497,\n            end: 2498,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2498,\n            end: 2499,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"node\",\n            start: 2499,\n            end: 2503,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2503,\n            end: 2504,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2504,\n            end: 2505,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2505,\n            end: 2506,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Tree\",\n            start: 2506,\n            end: 2510,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2510,\n            end: 2511,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2511,\n            end: 2513,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2513,\n            end: 2514,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2514,\n            end: 2517,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2517,\n            end: 2518,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Tree\",\n            start: 2518,\n            end: 2522,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2522,\n            end: 2523,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2523,\n            end: 2525,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2525,\n            end: 2526,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2526,\n            end: 2529,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2529,\n            end: 2530,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Tree\",\n            start: 2530,\n            end: 2534,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2534,\n            end: 2535,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2535,\n            end: 2537,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2537,\n            end: 2539,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2539,\n            end: 2541,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Mutual inductive types\",\n            start: 2541,\n            end: 2566,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2566,\n            end: 2568,\n        },\n        TokenData {\n            kind: \"Mutual\",\n            text: \"mutual\",\n            start: 2568,\n            end: 2574,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2574,\n            end: 2576,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2576,\n            end: 2580,\n        },\n        TokenData {\n            kind: \"Inductive\",\n            text: \"inductive\",\n            start: 2580,\n            end: 2589,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2589,\n            end: 2590,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Even\",\n            start: 2590,\n            end: 2594,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2594,\n            end: 2595,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2595,\n            end: 2596,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2596,\n            end: 2597,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 2597,\n            end: 2600,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2600,\n            end: 2601,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2601,\n            end: 2604,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2604,\n            end: 2605,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Prop\",\n            start: 2605,\n            end: 2609,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2609,\n            end: 2610,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 2610,\n            end: 2615,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2615,\n            end: 2617,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 2617,\n            end: 2625,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 2625,\n            end: 2626,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2626,\n            end: 2627,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 2627,\n            end: 2631,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2631,\n            end: 2632,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2632,\n            end: 2633,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2633,\n            end: 2634,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Even\",\n            start: 2634,\n            end: 2638,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2638,\n            end: 2639,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 2639,\n            end: 2640,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2640,\n            end: 2642,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 2642,\n            end: 2650,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 2650,\n            end: 2651,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2651,\n            end: 2652,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 2652,\n            end: 2656,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2656,\n            end: 2657,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2657,\n            end: 2658,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2658,\n            end: 2659,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 2659,\n            end: 2662,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2662,\n            end: 2663,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 2663,\n            end: 2664,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2664,\n            end: 2665,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2665,\n            end: 2666,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Odd\",\n            start: 2666,\n            end: 2669,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2669,\n            end: 2670,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 2670,\n            end: 2671,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2671,\n            end: 2672,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2672,\n            end: 2675,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2675,\n            end: 2676,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Even\",\n            start: 2676,\n            end: 2680,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2680,\n            end: 2681,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2681,\n            end: 2682,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 2682,\n            end: 2683,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2683,\n            end: 2684,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 2684,\n            end: 2685,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2685,\n            end: 2686,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 2686,\n            end: 2687,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2687,\n            end: 2688,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2688,\n            end: 2690,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"  \",\n            start: 2690,\n            end: 2692,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2692,\n            end: 2694,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 2694,\n            end: 2698,\n        },\n        TokenData {\n            kind: \"Inductive\",\n            text: \"inductive\",\n            start: 2698,\n            end: 2707,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2707,\n            end: 2708,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Odd\",\n            start: 2708,\n            end: 2711,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2711,\n            end: 2712,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2712,\n            end: 2713,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2713,\n            end: 2714,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 2714,\n            end: 2717,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2717,\n            end: 2718,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2718,\n            end: 2721,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2721,\n            end: 2722,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Prop\",\n            start: 2722,\n            end: 2726,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2726,\n            end: 2727,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 2727,\n            end: 2732,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2732,\n            end: 2734,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 2734,\n            end: 2742,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 2742,\n            end: 2743,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2743,\n            end: 2744,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"one\",\n            start: 2744,\n            end: 2747,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2747,\n            end: 2748,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2748,\n            end: 2749,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2749,\n            end: 2750,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Odd\",\n            start: 2750,\n            end: 2753,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2753,\n            end: 2754,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 2754,\n            end: 2755,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2755,\n            end: 2757,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 2757,\n            end: 2765,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 2765,\n            end: 2766,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2766,\n            end: 2767,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 2767,\n            end: 2771,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2771,\n            end: 2772,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2772,\n            end: 2773,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2773,\n            end: 2774,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 2774,\n            end: 2777,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2777,\n            end: 2778,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 2778,\n            end: 2779,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2779,\n            end: 2780,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2780,\n            end: 2781,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Even\",\n            start: 2781,\n            end: 2785,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2785,\n            end: 2786,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 2786,\n            end: 2787,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2787,\n            end: 2788,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2788,\n            end: 2791,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2791,\n            end: 2792,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Odd\",\n            start: 2792,\n            end: 2795,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2795,\n            end: 2796,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2796,\n            end: 2797,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 2797,\n            end: 2798,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2798,\n            end: 2799,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 2799,\n            end: 2800,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2800,\n            end: 2801,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 2801,\n            end: 2802,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2802,\n            end: 2803,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2803,\n            end: 2805,\n        },\n        TokenData {\n            kind: \"End\",\n            text: \"end\",\n            start: 2805,\n            end: 2808,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2808,\n            end: 2810,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2810,\n            end: 2812,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Dependent types\",\n            start: 2812,\n            end: 2830,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2830,\n            end: 2832,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 2832,\n            end: 2835,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2835,\n            end: 2836,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Vector'\",\n            start: 2836,\n            end: 2843,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2843,\n            end: 2844,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2844,\n            end: 2845,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2845,\n            end: 2847,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2847,\n            end: 2848,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2848,\n            end: 2849,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2849,\n            end: 2850,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 2850,\n            end: 2854,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 2854,\n            end: 2855,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2855,\n            end: 2856,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2856,\n            end: 2857,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2857,\n            end: 2858,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 2858,\n            end: 2859,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2859,\n            end: 2860,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2860,\n            end: 2861,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2861,\n            end: 2862,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 2862,\n            end: 2865,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2865,\n            end: 2866,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2866,\n            end: 2867,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2867,\n            end: 2868,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2868,\n            end: 2869,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 2869,\n            end: 2873,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 2873,\n            end: 2874,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2874,\n            end: 2875,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2875,\n            end: 2876,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 2876,\n            end: 2877,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2877,\n            end: 2878,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2878,\n            end: 2879,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2879,\n            end: 2880,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l\",\n            start: 2880,\n            end: 2881,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2881,\n            end: 2882,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2882,\n            end: 2883,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2883,\n            end: 2884,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 2884,\n            end: 2888,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2888,\n            end: 2889,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2889,\n            end: 2891,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2891,\n            end: 2892,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 2892,\n            end: 2893,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 2893,\n            end: 2894,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2894,\n            end: 2895,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l\",\n            start: 2895,\n            end: 2896,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 2896,\n            end: 2897,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length\",\n            start: 2897,\n            end: 2903,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2903,\n            end: 2904,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 2904,\n            end: 2905,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2905,\n            end: 2906,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 2906,\n            end: 2907,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2907,\n            end: 2908,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2908,\n            end: 2909,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2909,\n            end: 2911,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2911,\n            end: 2913,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Function types and lambda expressions\",\n            start: 2913,\n            end: 2953,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2953,\n            end: 2955,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 2955,\n            end: 2958,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2958,\n            end: 2959,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"compose\",\n            start: 2959,\n            end: 2966,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2966,\n            end: 2967,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 2967,\n            end: 2968,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2968,\n            end: 2969,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2969,\n            end: 2970,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 2970,\n            end: 2972,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2972,\n            end: 2973,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2973,\n            end: 2976,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2976,\n            end: 2977,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 2977,\n            end: 2979,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2979,\n            end: 2980,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2980,\n            end: 2981,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2981,\n            end: 2984,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2984,\n            end: 2985,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2985,\n            end: 2986,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 2986,\n            end: 2988,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2988,\n            end: 2989,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2989,\n            end: 2992,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2992,\n            end: 2993,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 2993,\n            end: 2995,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2995,\n            end: 2996,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2996,\n            end: 2997,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 2997,\n            end: 3000,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3000,\n            end: 3001,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3001,\n            end: 3002,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3002,\n            end: 3004,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3004,\n            end: 3005,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3005,\n            end: 3008,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3008,\n            end: 3009,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 3009,\n            end: 3011,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3011,\n            end: 3012,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3012,\n            end: 3013,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3013,\n            end: 3014,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3014,\n            end: 3015,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3015,\n            end: 3016,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 3016,\n            end: 3019,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3019,\n            end: 3020,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 3020,\n            end: 3021,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3021,\n            end: 3022,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 3022,\n            end: 3023,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3023,\n            end: 3024,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3024,\n            end: 3025,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3025,\n            end: 3026,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3026,\n            end: 3027,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 3027,\n            end: 3030,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3030,\n            end: 3031,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 3031,\n            end: 3032,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3032,\n            end: 3033,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3033,\n            end: 3034,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3034,\n            end: 3035,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3035,\n            end: 3036,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 3036,\n            end: 3037,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3037,\n            end: 3038,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3038,\n            end: 3039,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 3039,\n            end: 3040,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3040,\n            end: 3041,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 3041,\n            end: 3042,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3042,\n            end: 3043,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3043,\n            end: 3045,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3045,\n            end: 3047,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 3047,\n            end: 3050,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3050,\n            end: 3051,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"curry\",\n            start: 3051,\n            end: 3056,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3056,\n            end: 3057,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3057,\n            end: 3058,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3058,\n            end: 3059,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3059,\n            end: 3060,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3060,\n            end: 3062,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3062,\n            end: 3063,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"×\",\n            start: 3063,\n            end: 3065,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3065,\n            end: 3066,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 3066,\n            end: 3068,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3068,\n            end: 3069,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3069,\n            end: 3072,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3072,\n            end: 3073,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 3073,\n            end: 3075,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3075,\n            end: 3076,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3076,\n            end: 3077,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3077,\n            end: 3080,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3080,\n            end: 3081,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3081,\n            end: 3082,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3082,\n            end: 3084,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3084,\n            end: 3085,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3085,\n            end: 3088,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3088,\n            end: 3089,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 3089,\n            end: 3091,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3091,\n            end: 3092,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3092,\n            end: 3095,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3095,\n            end: 3096,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 3096,\n            end: 3098,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3098,\n            end: 3099,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3099,\n            end: 3100,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3100,\n            end: 3101,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3101,\n            end: 3102,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3102,\n            end: 3103,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 3103,\n            end: 3106,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3106,\n            end: 3107,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 3107,\n            end: 3108,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3108,\n            end: 3109,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3109,\n            end: 3110,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3110,\n            end: 3111,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3111,\n            end: 3112,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 3112,\n            end: 3115,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3115,\n            end: 3116,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3116,\n            end: 3117,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3117,\n            end: 3118,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 3118,\n            end: 3119,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3119,\n            end: 3120,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3120,\n            end: 3121,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3121,\n            end: 3122,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3122,\n            end: 3123,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 3123,\n            end: 3124,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3124,\n            end: 3125,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3125,\n            end: 3126,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3126,\n            end: 3127,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3127,\n            end: 3128,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3128,\n            end: 3129,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 3129,\n            end: 3130,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3130,\n            end: 3131,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3131,\n            end: 3133,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3133,\n            end: 3135,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 3135,\n            end: 3138,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3138,\n            end: 3139,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"uncurry\",\n            start: 3139,\n            end: 3146,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3146,\n            end: 3147,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3147,\n            end: 3148,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3148,\n            end: 3149,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3149,\n            end: 3150,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3150,\n            end: 3152,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3152,\n            end: 3153,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3153,\n            end: 3156,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3156,\n            end: 3157,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 3157,\n            end: 3159,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3159,\n            end: 3160,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3160,\n            end: 3163,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3163,\n            end: 3164,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 3164,\n            end: 3166,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3166,\n            end: 3167,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3167,\n            end: 3168,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3168,\n            end: 3171,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3171,\n            end: 3172,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3172,\n            end: 3173,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3173,\n            end: 3175,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3175,\n            end: 3176,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"×\",\n            start: 3176,\n            end: 3178,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3178,\n            end: 3179,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 3179,\n            end: 3181,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3181,\n            end: 3182,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3182,\n            end: 3185,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3185,\n            end: 3186,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 3186,\n            end: 3188,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3188,\n            end: 3189,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3189,\n            end: 3190,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3190,\n            end: 3191,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3191,\n            end: 3192,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3192,\n            end: 3193,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 3193,\n            end: 3196,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3196,\n            end: 3197,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 3197,\n            end: 3198,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3198,\n            end: 3199,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3199,\n            end: 3200,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3200,\n            end: 3201,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3201,\n            end: 3202,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 3202,\n            end: 3205,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3205,\n            end: 3206,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟨\",\n            start: 3206,\n            end: 3209,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3209,\n            end: 3210,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3210,\n            end: 3211,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3211,\n            end: 3212,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 3212,\n            end: 3213,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟩\",\n            start: 3213,\n            end: 3216,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3216,\n            end: 3217,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3217,\n            end: 3218,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3218,\n            end: 3219,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3219,\n            end: 3220,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 3220,\n            end: 3221,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3221,\n            end: 3222,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3222,\n            end: 3223,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3223,\n            end: 3224,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 3224,\n            end: 3225,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3225,\n            end: 3227,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3227,\n            end: 3229,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Pattern matching with complex patterns\",\n            start: 3229,\n            end: 3270,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3270,\n            end: 3272,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 3272,\n            end: 3275,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3275,\n            end: 3276,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"listLength\",\n            start: 3276,\n            end: 3286,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3286,\n            end: 3287,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3287,\n            end: 3288,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3288,\n            end: 3289,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 3289,\n            end: 3293,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3293,\n            end: 3294,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3294,\n            end: 3296,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3296,\n            end: 3297,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3297,\n            end: 3300,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3300,\n            end: 3301,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 3301,\n            end: 3304,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3304,\n            end: 3306,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3306,\n            end: 3310,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 3310,\n            end: 3311,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3311,\n            end: 3312,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3312,\n            end: 3313,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3313,\n            end: 3314,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3314,\n            end: 3315,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3315,\n            end: 3316,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3316,\n            end: 3317,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3317,\n            end: 3318,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 3318,\n            end: 3319,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3319,\n            end: 3321,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3321,\n            end: 3325,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 3325,\n            end: 3326,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3326,\n            end: 3327,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 3327,\n            end: 3328,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3328,\n            end: 3329,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3329,\n            end: 3330,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3330,\n            end: 3331,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3331,\n            end: 3332,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 3332,\n            end: 3334,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3334,\n            end: 3335,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3335,\n            end: 3336,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3336,\n            end: 3337,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3337,\n            end: 3338,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 3338,\n            end: 3339,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3339,\n            end: 3340,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 3340,\n            end: 3341,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3341,\n            end: 3342,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"listLength\",\n            start: 3342,\n            end: 3352,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3352,\n            end: 3353,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 3353,\n            end: 3355,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3355,\n            end: 3357,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3357,\n            end: 3359,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 3359,\n            end: 3362,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3362,\n            end: 3363,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"listMap\",\n            start: 3363,\n            end: 3370,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3370,\n            end: 3371,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3371,\n            end: 3372,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 3372,\n            end: 3373,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3373,\n            end: 3374,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3374,\n            end: 3375,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3375,\n            end: 3376,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3376,\n            end: 3378,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3378,\n            end: 3379,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3379,\n            end: 3382,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3382,\n            end: 3383,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 3383,\n            end: 3385,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3385,\n            end: 3386,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3386,\n            end: 3387,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3387,\n            end: 3388,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3388,\n            end: 3389,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 3389,\n            end: 3393,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3393,\n            end: 3394,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3394,\n            end: 3396,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3396,\n            end: 3397,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3397,\n            end: 3400,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3400,\n            end: 3401,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 3401,\n            end: 3405,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3405,\n            end: 3406,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 3406,\n            end: 3408,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3408,\n            end: 3410,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3410,\n            end: 3414,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 3414,\n            end: 3415,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3415,\n            end: 3416,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3416,\n            end: 3417,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3417,\n            end: 3418,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3418,\n            end: 3419,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3419,\n            end: 3420,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3420,\n            end: 3421,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3421,\n            end: 3422,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3422,\n            end: 3423,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3423,\n            end: 3424,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3424,\n            end: 3426,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3426,\n            end: 3430,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 3430,\n            end: 3431,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3431,\n            end: 3432,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 3432,\n            end: 3433,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3433,\n            end: 3434,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3434,\n            end: 3435,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3435,\n            end: 3436,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3436,\n            end: 3437,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 3437,\n            end: 3439,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3439,\n            end: 3440,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3440,\n            end: 3441,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3441,\n            end: 3442,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3442,\n            end: 3443,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 3443,\n            end: 3444,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3444,\n            end: 3445,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 3445,\n            end: 3446,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3446,\n            end: 3447,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3447,\n            end: 3448,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3448,\n            end: 3449,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3449,\n            end: 3450,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"listMap\",\n            start: 3450,\n            end: 3457,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3457,\n            end: 3458,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 3458,\n            end: 3459,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3459,\n            end: 3460,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 3460,\n            end: 3462,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3462,\n            end: 3464,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3464,\n            end: 3466,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 3466,\n            end: 3469,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3469,\n            end: 3470,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"listFilter\",\n            start: 3470,\n            end: 3480,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3480,\n            end: 3481,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3481,\n            end: 3482,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 3482,\n            end: 3483,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3483,\n            end: 3484,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3484,\n            end: 3485,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3485,\n            end: 3486,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3486,\n            end: 3488,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3488,\n            end: 3489,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3489,\n            end: 3492,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3492,\n            end: 3493,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 3493,\n            end: 3497,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3497,\n            end: 3498,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3498,\n            end: 3499,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3499,\n            end: 3500,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3500,\n            end: 3501,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 3501,\n            end: 3505,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3505,\n            end: 3506,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3506,\n            end: 3508,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3508,\n            end: 3509,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 3509,\n            end: 3512,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3512,\n            end: 3513,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 3513,\n            end: 3517,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3517,\n            end: 3518,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 3518,\n            end: 3520,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3520,\n            end: 3522,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3522,\n            end: 3526,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 3526,\n            end: 3527,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3527,\n            end: 3528,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3528,\n            end: 3529,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3529,\n            end: 3530,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3530,\n            end: 3531,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3531,\n            end: 3532,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3532,\n            end: 3533,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3533,\n            end: 3534,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3534,\n            end: 3535,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3535,\n            end: 3536,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3536,\n            end: 3538,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3538,\n            end: 3542,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 3542,\n            end: 3543,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3543,\n            end: 3544,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 3544,\n            end: 3545,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3545,\n            end: 3546,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3546,\n            end: 3547,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3547,\n            end: 3548,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3548,\n            end: 3549,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 3549,\n            end: 3551,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3551,\n            end: 3552,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3552,\n            end: 3553,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3553,\n            end: 3554,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3554,\n            end: 3555,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 3555,\n            end: 3557,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3557,\n            end: 3558,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 3558,\n            end: 3559,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3559,\n            end: 3560,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 3560,\n            end: 3561,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3561,\n            end: 3562,\n        },\n        TokenData {\n            kind: \"Then\",\n            text: \"then\",\n            start: 3562,\n            end: 3566,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3566,\n            end: 3567,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 3567,\n            end: 3568,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3568,\n            end: 3569,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3569,\n            end: 3570,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3570,\n            end: 3571,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3571,\n            end: 3572,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"listFilter\",\n            start: 3572,\n            end: 3582,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3582,\n            end: 3583,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 3583,\n            end: 3584,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3584,\n            end: 3585,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 3585,\n            end: 3587,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3587,\n            end: 3588,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 3588,\n            end: 3592,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3592,\n            end: 3593,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"listFilter\",\n            start: 3593,\n            end: 3603,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3603,\n            end: 3604,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 3604,\n            end: 3605,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3605,\n            end: 3606,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 3606,\n            end: 3608,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3608,\n            end: 3610,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3610,\n            end: 3612,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Theorem statements and proofs\",\n            start: 3612,\n            end: 3644,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3644,\n            end: 3646,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 3646,\n            end: 3653,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3653,\n            end: 3654,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_comm\",\n            start: 3654,\n            end: 3662,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3662,\n            end: 3663,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3663,\n            end: 3664,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3664,\n            end: 3665,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3665,\n            end: 3666,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 3666,\n            end: 3667,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3667,\n            end: 3668,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3668,\n            end: 3669,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3669,\n            end: 3670,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 3670,\n            end: 3673,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3673,\n            end: 3674,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3674,\n            end: 3675,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3675,\n            end: 3676,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3676,\n            end: 3677,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3677,\n            end: 3678,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3678,\n            end: 3679,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 3679,\n            end: 3680,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3680,\n            end: 3681,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 3681,\n            end: 3682,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3682,\n            end: 3683,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3683,\n            end: 3684,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3684,\n            end: 3685,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 3685,\n            end: 3686,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3686,\n            end: 3687,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 3687,\n            end: 3688,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3688,\n            end: 3689,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3689,\n            end: 3690,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3690,\n            end: 3691,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3691,\n            end: 3692,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3692,\n            end: 3693,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3693,\n            end: 3694,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 3694,\n            end: 3696,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3696,\n            end: 3698,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3698,\n            end: 3702,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"induction\",\n            start: 3702,\n            end: 3711,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3711,\n            end: 3712,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3712,\n            end: 3713,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3713,\n            end: 3714,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 3714,\n            end: 3718,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3718,\n            end: 3720,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3720,\n            end: 3724,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 3724,\n            end: 3725,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3725,\n            end: 3726,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 3726,\n            end: 3730,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3730,\n            end: 3731,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3731,\n            end: 3732,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3732,\n            end: 3733,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3733,\n            end: 3734,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 3734,\n            end: 3738,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3738,\n            end: 3739,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3739,\n            end: 3740,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 3740,\n            end: 3743,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 3743,\n            end: 3744,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero_add\",\n            start: 3744,\n            end: 3752,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3752,\n            end: 3753,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3753,\n            end: 3754,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 3754,\n            end: 3757,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 3757,\n            end: 3758,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_zero\",\n            start: 3758,\n            end: 3766,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3766,\n            end: 3767,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3767,\n            end: 3769,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3769,\n            end: 3773,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 3773,\n            end: 3774,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3774,\n            end: 3775,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 3775,\n            end: 3779,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3779,\n            end: 3780,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3780,\n            end: 3781,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3781,\n            end: 3782,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 3782,\n            end: 3784,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3784,\n            end: 3785,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3785,\n            end: 3786,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3786,\n            end: 3787,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3787,\n            end: 3788,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3788,\n            end: 3790,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 3790,\n            end: 3798,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 3798,\n            end: 3800,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3800,\n            end: 3801,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3801,\n            end: 3802,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 3802,\n            end: 3805,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 3805,\n            end: 3806,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ_add\",\n            start: 3806,\n            end: 3814,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3814,\n            end: 3815,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3815,\n            end: 3816,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 3816,\n            end: 3819,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 3819,\n            end: 3820,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_succ\",\n            start: 3820,\n            end: 3828,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3828,\n            end: 3829,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3829,\n            end: 3830,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 3830,\n            end: 3832,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3832,\n            end: 3833,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3833,\n            end: 3835,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3835,\n            end: 3837,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 3837,\n            end: 3844,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3844,\n            end: 3845,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_assoc\",\n            start: 3845,\n            end: 3854,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3854,\n            end: 3855,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3855,\n            end: 3856,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3856,\n            end: 3857,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3857,\n            end: 3858,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 3858,\n            end: 3859,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3859,\n            end: 3860,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 3860,\n            end: 3861,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3861,\n            end: 3862,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3862,\n            end: 3863,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3863,\n            end: 3864,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 3864,\n            end: 3867,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3867,\n            end: 3868,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3868,\n            end: 3869,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3869,\n            end: 3870,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3870,\n            end: 3871,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3871,\n            end: 3872,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3872,\n            end: 3873,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3873,\n            end: 3874,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 3874,\n            end: 3875,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3875,\n            end: 3876,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 3876,\n            end: 3877,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3877,\n            end: 3878,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3878,\n            end: 3879,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 3879,\n            end: 3880,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3880,\n            end: 3881,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 3881,\n            end: 3882,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3882,\n            end: 3883,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3883,\n            end: 3884,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3884,\n            end: 3885,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3885,\n            end: 3886,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3886,\n            end: 3887,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 3887,\n            end: 3888,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3888,\n            end: 3889,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3889,\n            end: 3890,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 3890,\n            end: 3891,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3891,\n            end: 3892,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 3892,\n            end: 3893,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3893,\n            end: 3894,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 3894,\n            end: 3895,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3895,\n            end: 3896,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3896,\n            end: 3897,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 3897,\n            end: 3898,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3898,\n            end: 3899,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3899,\n            end: 3900,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 3900,\n            end: 3902,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3902,\n            end: 3904,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3904,\n            end: 3908,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"induction\",\n            start: 3908,\n            end: 3917,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3917,\n            end: 3918,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3918,\n            end: 3919,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3919,\n            end: 3920,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 3920,\n            end: 3924,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3924,\n            end: 3926,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3926,\n            end: 3930,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 3930,\n            end: 3931,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3931,\n            end: 3932,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 3932,\n            end: 3936,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3936,\n            end: 3937,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3937,\n            end: 3938,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3938,\n            end: 3939,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3939,\n            end: 3940,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 3940,\n            end: 3944,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3944,\n            end: 3945,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3945,\n            end: 3946,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 3946,\n            end: 3949,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 3949,\n            end: 3950,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero_add\",\n            start: 3950,\n            end: 3958,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3958,\n            end: 3959,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3959,\n            end: 3961,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 3961,\n            end: 3965,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 3965,\n            end: 3966,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3966,\n            end: 3967,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 3967,\n            end: 3971,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3971,\n            end: 3972,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 3972,\n            end: 3973,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3973,\n            end: 3974,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 3974,\n            end: 3976,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3976,\n            end: 3977,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 3977,\n            end: 3978,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 3978,\n            end: 3979,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3979,\n            end: 3980,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3980,\n            end: 3982,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 3982,\n            end: 3990,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 3990,\n            end: 3992,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3992,\n            end: 3993,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3993,\n            end: 3994,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 3994,\n            end: 3997,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 3997,\n            end: 3998,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ_add\",\n            start: 3998,\n            end: 4006,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4006,\n            end: 4007,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4007,\n            end: 4008,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 4008,\n            end: 4011,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4011,\n            end: 4012,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ_add\",\n            start: 4012,\n            end: 4020,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4020,\n            end: 4021,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4021,\n            end: 4022,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 4022,\n            end: 4025,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4025,\n            end: 4026,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ_add\",\n            start: 4026,\n            end: 4034,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4034,\n            end: 4035,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4035,\n            end: 4036,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 4036,\n            end: 4038,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 4038,\n            end: 4039,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4039,\n            end: 4041,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4041,\n            end: 4043,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Lemma with detailed proof\",\n            start: 4043,\n            end: 4071,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4071,\n            end: 4073,\n        },\n        TokenData {\n            kind: \"Lemma\",\n            text: \"lemma\",\n            start: 4073,\n            end: 4078,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4078,\n            end: 4079,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"list_length_append\",\n            start: 4079,\n            end: 4097,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4097,\n            end: 4098,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4098,\n            end: 4099,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l₁\",\n            start: 4099,\n            end: 4103,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4103,\n            end: 4104,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l₂\",\n            start: 4104,\n            end: 4108,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4108,\n            end: 4109,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4109,\n            end: 4110,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4110,\n            end: 4111,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 4111,\n            end: 4115,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4115,\n            end: 4116,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 4116,\n            end: 4118,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4118,\n            end: 4119,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4119,\n            end: 4120,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4120,\n            end: 4121,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4121,\n            end: 4122,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4122,\n            end: 4124,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4124,\n            end: 4128,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4128,\n            end: 4129,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l₁\",\n            start: 4129,\n            end: 4133,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4133,\n            end: 4134,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 4134,\n            end: 4135,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 4135,\n            end: 4136,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4136,\n            end: 4137,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l₂\",\n            start: 4137,\n            end: 4141,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4141,\n            end: 4142,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4142,\n            end: 4143,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length\",\n            start: 4143,\n            end: 4149,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4149,\n            end: 4150,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4150,\n            end: 4151,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4151,\n            end: 4152,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l₁\",\n            start: 4152,\n            end: 4156,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4156,\n            end: 4157,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length\",\n            start: 4157,\n            end: 4163,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4163,\n            end: 4164,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 4164,\n            end: 4165,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4165,\n            end: 4166,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l₂\",\n            start: 4166,\n            end: 4170,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4170,\n            end: 4171,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length\",\n            start: 4171,\n            end: 4177,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4177,\n            end: 4178,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4178,\n            end: 4179,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4179,\n            end: 4180,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4180,\n            end: 4181,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 4181,\n            end: 4183,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4183,\n            end: 4185,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4185,\n            end: 4189,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"induction\",\n            start: 4189,\n            end: 4198,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4198,\n            end: 4199,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l₁\",\n            start: 4199,\n            end: 4203,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4203,\n            end: 4204,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 4204,\n            end: 4208,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4208,\n            end: 4210,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4210,\n            end: 4214,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 4214,\n            end: 4215,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4215,\n            end: 4216,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nil\",\n            start: 4216,\n            end: 4219,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4219,\n            end: 4220,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4220,\n            end: 4221,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 4221,\n            end: 4222,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4222,\n            end: 4223,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 4223,\n            end: 4227,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4227,\n            end: 4228,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 4228,\n            end: 4229,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 4229,\n            end: 4233,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4233,\n            end: 4234,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nil_append\",\n            start: 4234,\n            end: 4244,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4244,\n            end: 4245,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4245,\n            end: 4246,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 4246,\n            end: 4250,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4250,\n            end: 4251,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length_nil\",\n            start: 4251,\n            end: 4261,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4261,\n            end: 4262,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4262,\n            end: 4263,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 4263,\n            end: 4266,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4266,\n            end: 4267,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero_add\",\n            start: 4267,\n            end: 4275,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 4275,\n            end: 4276,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4276,\n            end: 4278,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4278,\n            end: 4282,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 4282,\n            end: 4283,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4283,\n            end: 4284,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cons\",\n            start: 4284,\n            end: 4288,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4288,\n            end: 4289,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 4289,\n            end: 4290,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4290,\n            end: 4291,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"t\",\n            start: 4291,\n            end: 4292,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4292,\n            end: 4293,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 4293,\n            end: 4295,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4295,\n            end: 4296,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4296,\n            end: 4297,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 4297,\n            end: 4298,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4298,\n            end: 4299,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4299,\n            end: 4301,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 4301,\n            end: 4309,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 4309,\n            end: 4313,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4313,\n            end: 4314,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 4314,\n            end: 4315,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 4315,\n            end: 4319,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4319,\n            end: 4320,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cons_append\",\n            start: 4320,\n            end: 4331,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4331,\n            end: 4332,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4332,\n            end: 4333,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 4333,\n            end: 4337,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4337,\n            end: 4338,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length_cons\",\n            start: 4338,\n            end: 4349,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4349,\n            end: 4350,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4350,\n            end: 4351,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 4351,\n            end: 4354,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4354,\n            end: 4355,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ_add\",\n            start: 4355,\n            end: 4363,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4363,\n            end: 4364,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4364,\n            end: 4365,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 4365,\n            end: 4367,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 4367,\n            end: 4368,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4368,\n            end: 4370,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4370,\n            end: 4372,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Proof by cases\",\n            start: 4372,\n            end: 4389,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4389,\n            end: 4391,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 4391,\n            end: 4398,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4398,\n            end: 4399,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"bool_cases\",\n            start: 4399,\n            end: 4409,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4409,\n            end: 4410,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4410,\n            end: 4411,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 4411,\n            end: 4412,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4412,\n            end: 4413,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4413,\n            end: 4414,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4414,\n            end: 4415,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Bool\",\n            start: 4415,\n            end: 4419,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4419,\n            end: 4420,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4420,\n            end: 4421,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4421,\n            end: 4422,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4422,\n            end: 4423,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 4423,\n            end: 4424,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4424,\n            end: 4425,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4425,\n            end: 4426,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4426,\n            end: 4427,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 4427,\n            end: 4431,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4431,\n            end: 4432,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∨\",\n            start: 4432,\n            end: 4435,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4435,\n            end: 4436,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 4436,\n            end: 4437,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4437,\n            end: 4438,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4438,\n            end: 4439,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4439,\n            end: 4440,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"false\",\n            start: 4440,\n            end: 4445,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4445,\n            end: 4446,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4446,\n            end: 4447,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4447,\n            end: 4448,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4448,\n            end: 4449,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 4449,\n            end: 4451,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4451,\n            end: 4453,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4453,\n            end: 4457,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cases\",\n            start: 4457,\n            end: 4462,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4462,\n            end: 4463,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 4463,\n            end: 4464,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4464,\n            end: 4465,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 4465,\n            end: 4469,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4469,\n            end: 4471,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4471,\n            end: 4475,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 4475,\n            end: 4476,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4476,\n            end: 4477,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 4477,\n            end: 4481,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4481,\n            end: 4482,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4482,\n            end: 4483,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 4483,\n            end: 4484,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4484,\n            end: 4485,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"left\",\n            start: 4485,\n            end: 4489,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4489,\n            end: 4490,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4490,\n            end: 4491,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 4491,\n            end: 4494,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4494,\n            end: 4496,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4496,\n            end: 4500,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 4500,\n            end: 4501,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4501,\n            end: 4502,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"false\",\n            start: 4502,\n            end: 4507,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4507,\n            end: 4508,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4508,\n            end: 4509,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 4509,\n            end: 4510,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4510,\n            end: 4511,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"right\",\n            start: 4511,\n            end: 4516,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4516,\n            end: 4517,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4517,\n            end: 4518,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 4518,\n            end: 4521,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4521,\n            end: 4523,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4523,\n            end: 4525,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Proof by contradiction\",\n            start: 4525,\n            end: 4550,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4550,\n            end: 4552,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 4552,\n            end: 4559,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4559,\n            end: 4560,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"not_not\",\n            start: 4560,\n            end: 4567,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4567,\n            end: 4568,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4568,\n            end: 4569,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 4569,\n            end: 4570,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4570,\n            end: 4571,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4571,\n            end: 4572,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4572,\n            end: 4573,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Prop\",\n            start: 4573,\n            end: 4577,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4577,\n            end: 4578,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4578,\n            end: 4579,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4579,\n            end: 4580,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4580,\n            end: 4581,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"¬\",\n            start: 4581,\n            end: 4583,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"¬\",\n            start: 4583,\n            end: 4585,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 4585,\n            end: 4586,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4586,\n            end: 4587,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 4587,\n            end: 4590,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4590,\n            end: 4591,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 4591,\n            end: 4592,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4592,\n            end: 4593,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4593,\n            end: 4594,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4594,\n            end: 4595,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4595,\n            end: 4596,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 4596,\n            end: 4598,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4598,\n            end: 4600,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4600,\n            end: 4604,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 4604,\n            end: 4609,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4609,\n            end: 4610,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 4610,\n            end: 4611,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4611,\n            end: 4613,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4613,\n            end: 4617,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by_contra\",\n            start: 4617,\n            end: 4626,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4626,\n            end: 4627,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hnp\",\n            start: 4627,\n            end: 4630,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4630,\n            end: 4632,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4632,\n            end: 4636,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 4636,\n            end: 4641,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4641,\n            end: 4642,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 4642,\n            end: 4643,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4643,\n            end: 4644,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hnp\",\n            start: 4644,\n            end: 4647,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4647,\n            end: 4649,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4649,\n            end: 4651,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Existential proofs\",\n            start: 4651,\n            end: 4672,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4672,\n            end: 4674,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 4674,\n            end: 4681,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4681,\n            end: 4682,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exists_succ\",\n            start: 4682,\n            end: 4693,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4693,\n            end: 4694,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4694,\n            end: 4695,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 4695,\n            end: 4696,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4696,\n            end: 4697,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4697,\n            end: 4698,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4698,\n            end: 4699,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 4699,\n            end: 4702,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4702,\n            end: 4703,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4703,\n            end: 4704,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4704,\n            end: 4705,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4705,\n            end: 4706,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∃\",\n            start: 4706,\n            end: 4709,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4709,\n            end: 4710,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 4710,\n            end: 4711,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4711,\n            end: 4712,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4712,\n            end: 4713,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 4713,\n            end: 4714,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4714,\n            end: 4715,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4715,\n            end: 4716,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4716,\n            end: 4717,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 4717,\n            end: 4718,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4718,\n            end: 4719,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 4719,\n            end: 4720,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4720,\n            end: 4721,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 4721,\n            end: 4722,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4722,\n            end: 4723,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4723,\n            end: 4724,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4724,\n            end: 4725,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4725,\n            end: 4726,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 4726,\n            end: 4728,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4728,\n            end: 4730,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4730,\n            end: 4734,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"use\",\n            start: 4734,\n            end: 4737,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4737,\n            end: 4738,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 4738,\n            end: 4739,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4739,\n            end: 4740,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 4740,\n            end: 4741,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4741,\n            end: 4742,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 4742,\n            end: 4743,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4743,\n            end: 4745,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4745,\n            end: 4749,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 4749,\n            end: 4752,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4752,\n            end: 4754,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4754,\n            end: 4756,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Universal quantification\",\n            start: 4756,\n            end: 4783,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4783,\n            end: 4785,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 4785,\n            end: 4792,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4792,\n            end: 4793,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"forall_add_zero\",\n            start: 4793,\n            end: 4808,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4808,\n            end: 4809,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4809,\n            end: 4810,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 4810,\n            end: 4811,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4811,\n            end: 4812,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4812,\n            end: 4813,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4813,\n            end: 4814,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 4814,\n            end: 4817,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4817,\n            end: 4818,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4818,\n            end: 4819,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4819,\n            end: 4820,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4820,\n            end: 4821,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 4821,\n            end: 4822,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4822,\n            end: 4823,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 4823,\n            end: 4824,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4824,\n            end: 4825,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 4825,\n            end: 4826,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4826,\n            end: 4827,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4827,\n            end: 4828,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4828,\n            end: 4829,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 4829,\n            end: 4830,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4830,\n            end: 4831,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4831,\n            end: 4832,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4832,\n            end: 4833,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4833,\n            end: 4834,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 4834,\n            end: 4836,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4836,\n            end: 4838,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4838,\n            end: 4842,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 4842,\n            end: 4844,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4844,\n            end: 4845,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 4845,\n            end: 4846,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 4846,\n            end: 4849,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 4849,\n            end: 4850,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_zero\",\n            start: 4850,\n            end: 4858,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 4858,\n            end: 4859,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4859,\n            end: 4861,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4861,\n            end: 4863,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Tactics and proof terms\",\n            start: 4863,\n            end: 4889,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4889,\n            end: 4891,\n        },\n        TokenData {\n            kind: \"Example\",\n            text: \"example\",\n            start: 4891,\n            end: 4898,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4898,\n            end: 4899,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4899,\n            end: 4900,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₁\",\n            start: 4900,\n            end: 4904,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4904,\n            end: 4905,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4905,\n            end: 4906,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4906,\n            end: 4907,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 4907,\n            end: 4908,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4908,\n            end: 4909,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 4909,\n            end: 4912,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4912,\n            end: 4913,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"q\",\n            start: 4913,\n            end: 4914,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4914,\n            end: 4915,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4915,\n            end: 4916,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4916,\n            end: 4917,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₂\",\n            start: 4917,\n            end: 4921,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4921,\n            end: 4922,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4922,\n            end: 4923,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4923,\n            end: 4924,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"q\",\n            start: 4924,\n            end: 4925,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4925,\n            end: 4926,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 4926,\n            end: 4929,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4929,\n            end: 4930,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 4930,\n            end: 4931,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4931,\n            end: 4932,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4932,\n            end: 4933,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4933,\n            end: 4934,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₃\",\n            start: 4934,\n            end: 4938,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4938,\n            end: 4939,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4939,\n            end: 4940,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4940,\n            end: 4941,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 4941,\n            end: 4942,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4942,\n            end: 4943,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4943,\n            end: 4944,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4944,\n            end: 4945,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4945,\n            end: 4946,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 4946,\n            end: 4947,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4947,\n            end: 4948,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 4948,\n            end: 4949,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 4949,\n            end: 4950,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4950,\n            end: 4951,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 4951,\n            end: 4953,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4953,\n            end: 4955,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4955,\n            end: 4959,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"apply\",\n            start: 4959,\n            end: 4964,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4964,\n            end: 4965,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₂\",\n            start: 4965,\n            end: 4969,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4969,\n            end: 4971,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4971,\n            end: 4975,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"apply\",\n            start: 4975,\n            end: 4980,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4980,\n            end: 4981,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₁\",\n            start: 4981,\n            end: 4985,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4985,\n            end: 4987,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 4987,\n            end: 4991,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 4991,\n            end: 4996,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4996,\n            end: 4997,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₃\",\n            start: 4997,\n            end: 5001,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5001,\n            end: 5003,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5003,\n            end: 5005,\n        },\n        TokenData {\n            kind: \"Example\",\n            text: \"example\",\n            start: 5005,\n            end: 5012,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5012,\n            end: 5013,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5013,\n            end: 5014,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₁\",\n            start: 5014,\n            end: 5018,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5018,\n            end: 5019,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5019,\n            end: 5020,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5020,\n            end: 5021,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 5021,\n            end: 5022,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5022,\n            end: 5023,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 5023,\n            end: 5026,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5026,\n            end: 5027,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"q\",\n            start: 5027,\n            end: 5028,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5028,\n            end: 5029,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5029,\n            end: 5030,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5030,\n            end: 5031,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₂\",\n            start: 5031,\n            end: 5035,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5035,\n            end: 5036,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5036,\n            end: 5037,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5037,\n            end: 5038,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"q\",\n            start: 5038,\n            end: 5039,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5039,\n            end: 5040,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 5040,\n            end: 5043,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5043,\n            end: 5044,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 5044,\n            end: 5045,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5045,\n            end: 5046,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5046,\n            end: 5047,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5047,\n            end: 5048,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₃\",\n            start: 5048,\n            end: 5052,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5052,\n            end: 5053,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5053,\n            end: 5054,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5054,\n            end: 5055,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 5055,\n            end: 5056,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5056,\n            end: 5057,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5057,\n            end: 5058,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5058,\n            end: 5059,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5059,\n            end: 5060,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 5060,\n            end: 5061,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5061,\n            end: 5062,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5062,\n            end: 5063,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5063,\n            end: 5064,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5064,\n            end: 5065,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₂\",\n            start: 5065,\n            end: 5069,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5069,\n            end: 5070,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5070,\n            end: 5071,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₁\",\n            start: 5071,\n            end: 5075,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5075,\n            end: 5076,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h₃\",\n            start: 5076,\n            end: 5080,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5080,\n            end: 5081,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5081,\n            end: 5083,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5083,\n            end: 5085,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Simp lemmas\",\n            start: 5085,\n            end: 5099,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5099,\n            end: 5101,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@\",\n            start: 5101,\n            end: 5102,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 5102,\n            end: 5103,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 5103,\n            end: 5107,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 5107,\n            end: 5108,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5108,\n            end: 5110,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 5110,\n            end: 5117,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5117,\n            end: 5118,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"list_length_nil\",\n            start: 5118,\n            end: 5133,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5133,\n            end: 5134,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5134,\n            end: 5135,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5135,\n            end: 5136,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5136,\n            end: 5137,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 5137,\n            end: 5138,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 5138,\n            end: 5139,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5139,\n            end: 5140,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5140,\n            end: 5141,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5141,\n            end: 5142,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 5142,\n            end: 5146,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5146,\n            end: 5147,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 5147,\n            end: 5149,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5149,\n            end: 5150,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 5150,\n            end: 5151,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length\",\n            start: 5151,\n            end: 5157,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5157,\n            end: 5158,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5158,\n            end: 5159,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5159,\n            end: 5160,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 5160,\n            end: 5161,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5161,\n            end: 5162,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5162,\n            end: 5163,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5163,\n            end: 5164,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5164,\n            end: 5165,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 5165,\n            end: 5168,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5168,\n            end: 5170,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5170,\n            end: 5172,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@\",\n            start: 5172,\n            end: 5173,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 5173,\n            end: 5174,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 5174,\n            end: 5178,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 5178,\n            end: 5179,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5179,\n            end: 5181,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 5181,\n            end: 5188,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5188,\n            end: 5189,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"list_length_cons\",\n            start: 5189,\n            end: 5205,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5205,\n            end: 5206,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5206,\n            end: 5207,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 5207,\n            end: 5208,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5208,\n            end: 5209,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5209,\n            end: 5210,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5210,\n            end: 5211,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 5211,\n            end: 5213,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5213,\n            end: 5214,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5214,\n            end: 5215,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5215,\n            end: 5216,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 5216,\n            end: 5218,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5218,\n            end: 5219,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5219,\n            end: 5220,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5220,\n            end: 5221,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 5221,\n            end: 5225,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5225,\n            end: 5226,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 5226,\n            end: 5228,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5228,\n            end: 5229,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5229,\n            end: 5230,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5230,\n            end: 5231,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5231,\n            end: 5232,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5232,\n            end: 5234,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 5234,\n            end: 5238,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5238,\n            end: 5239,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 5239,\n            end: 5240,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5240,\n            end: 5241,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5241,\n            end: 5242,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5242,\n            end: 5243,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5243,\n            end: 5244,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 5244,\n            end: 5246,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5246,\n            end: 5247,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 5247,\n            end: 5248,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length\",\n            start: 5248,\n            end: 5254,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5254,\n            end: 5255,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5255,\n            end: 5256,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5256,\n            end: 5257,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 5257,\n            end: 5259,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 5259,\n            end: 5260,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length\",\n            start: 5260,\n            end: 5266,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5266,\n            end: 5267,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 5267,\n            end: 5268,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5268,\n            end: 5269,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 5269,\n            end: 5270,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5270,\n            end: 5271,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5271,\n            end: 5272,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5272,\n            end: 5273,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5273,\n            end: 5274,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 5274,\n            end: 5277,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5277,\n            end: 5279,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5279,\n            end: 5281,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Decidable instances\",\n            start: 5281,\n            end: 5303,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5303,\n            end: 5305,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"instance\",\n            start: 5305,\n            end: 5313,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5313,\n            end: 5314,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5314,\n            end: 5315,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 5315,\n            end: 5316,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5316,\n            end: 5317,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 5317,\n            end: 5318,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5318,\n            end: 5319,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5319,\n            end: 5320,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5320,\n            end: 5321,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 5321,\n            end: 5324,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5324,\n            end: 5325,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5325,\n            end: 5326,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5326,\n            end: 5327,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5327,\n            end: 5328,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Decidable\",\n            start: 5328,\n            end: 5337,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5337,\n            end: 5338,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5338,\n            end: 5339,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 5339,\n            end: 5340,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5340,\n            end: 5341,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"≤\",\n            start: 5341,\n            end: 5344,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5344,\n            end: 5345,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 5345,\n            end: 5346,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5346,\n            end: 5347,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5347,\n            end: 5348,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5348,\n            end: 5349,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5349,\n            end: 5350,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5350,\n            end: 5351,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 5351,\n            end: 5353,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5353,\n            end: 5355,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 5355,\n            end: 5359,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"induction\",\n            start: 5359,\n            end: 5368,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5368,\n            end: 5369,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 5369,\n            end: 5370,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5370,\n            end: 5371,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"generalizing\",\n            start: 5371,\n            end: 5383,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5383,\n            end: 5384,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 5384,\n            end: 5385,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5385,\n            end: 5386,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 5386,\n            end: 5390,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5390,\n            end: 5392,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 5392,\n            end: 5396,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 5396,\n            end: 5397,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5397,\n            end: 5398,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 5398,\n            end: 5402,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5402,\n            end: 5403,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5403,\n            end: 5404,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 5404,\n            end: 5405,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5405,\n            end: 5406,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5406,\n            end: 5408,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 5408,\n            end: 5416,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cases\",\n            start: 5416,\n            end: 5421,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5421,\n            end: 5422,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 5422,\n            end: 5423,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5423,\n            end: 5424,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 5424,\n            end: 5428,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5428,\n            end: 5430,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 5430,\n            end: 5438,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 5438,\n            end: 5439,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5439,\n            end: 5440,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 5440,\n            end: 5444,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5444,\n            end: 5445,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5445,\n            end: 5446,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 5446,\n            end: 5447,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5447,\n            end: 5448,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 5448,\n            end: 5453,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5453,\n            end: 5454,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"isTrue\",\n            start: 5454,\n            end: 5460,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5460,\n            end: 5461,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5461,\n            end: 5462,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 5462,\n            end: 5465,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 5465,\n            end: 5466,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"le_refl\",\n            start: 5466,\n            end: 5473,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5473,\n            end: 5474,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 5474,\n            end: 5475,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5475,\n            end: 5476,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5476,\n            end: 5478,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 5478,\n            end: 5486,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 5486,\n            end: 5487,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5487,\n            end: 5488,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 5488,\n            end: 5492,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5492,\n            end: 5493,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 5493,\n            end: 5494,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5494,\n            end: 5495,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5495,\n            end: 5496,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 5496,\n            end: 5497,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5497,\n            end: 5498,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 5498,\n            end: 5503,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5503,\n            end: 5504,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"isFalse\",\n            start: 5504,\n            end: 5511,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5511,\n            end: 5512,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5512,\n            end: 5513,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 5513,\n            end: 5516,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 5516,\n            end: 5517,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"not_succ_le_zero\",\n            start: 5517,\n            end: 5533,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5533,\n            end: 5534,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 5534,\n            end: 5535,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5535,\n            end: 5536,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5536,\n            end: 5538,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 5538,\n            end: 5542,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 5542,\n            end: 5543,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5543,\n            end: 5544,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 5544,\n            end: 5548,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5548,\n            end: 5549,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 5549,\n            end: 5550,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5550,\n            end: 5551,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 5551,\n            end: 5553,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5553,\n            end: 5554,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5554,\n            end: 5555,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 5555,\n            end: 5556,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5556,\n            end: 5558,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 5558,\n            end: 5566,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cases\",\n            start: 5566,\n            end: 5571,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5571,\n            end: 5572,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 5572,\n            end: 5573,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5573,\n            end: 5574,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 5574,\n            end: 5578,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5578,\n            end: 5580,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 5580,\n            end: 5588,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 5588,\n            end: 5589,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5589,\n            end: 5590,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 5590,\n            end: 5594,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5594,\n            end: 5595,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5595,\n            end: 5596,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 5596,\n            end: 5597,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5597,\n            end: 5598,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 5598,\n            end: 5603,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5603,\n            end: 5604,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"isTrue\",\n            start: 5604,\n            end: 5610,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5610,\n            end: 5611,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5611,\n            end: 5612,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 5612,\n            end: 5615,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 5615,\n            end: 5616,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero_le\",\n            start: 5616,\n            end: 5623,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5623,\n            end: 5624,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5624,\n            end: 5625,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 5625,\n            end: 5626,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5626,\n            end: 5627,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 5627,\n            end: 5628,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5628,\n            end: 5629,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 5629,\n            end: 5630,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5630,\n            end: 5631,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5631,\n            end: 5632,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5632,\n            end: 5634,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 5634,\n            end: 5642,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 5642,\n            end: 5643,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5643,\n            end: 5644,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 5644,\n            end: 5648,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5648,\n            end: 5649,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 5649,\n            end: 5650,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5650,\n            end: 5651,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5651,\n            end: 5652,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 5652,\n            end: 5653,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5653,\n            end: 5654,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5654,\n            end: 5656,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 5656,\n            end: 5668,\n        },\n        TokenData {\n            kind: \"Have\",\n            text: \"have\",\n            start: 5668,\n            end: 5672,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5672,\n            end: 5673,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5673,\n            end: 5674,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5674,\n            end: 5675,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Decidable\",\n            start: 5675,\n            end: 5684,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5684,\n            end: 5685,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5685,\n            end: 5686,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 5686,\n            end: 5687,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5687,\n            end: 5688,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"≤\",\n            start: 5688,\n            end: 5691,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5691,\n            end: 5692,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 5692,\n            end: 5693,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5693,\n            end: 5694,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5694,\n            end: 5695,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5695,\n            end: 5696,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5696,\n            end: 5697,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5697,\n            end: 5698,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 5698,\n            end: 5700,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5700,\n            end: 5701,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 5701,\n            end: 5702,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5702,\n            end: 5704,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 5704,\n            end: 5716,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cases\",\n            start: 5716,\n            end: 5721,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5721,\n            end: 5722,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"this\",\n            start: 5722,\n            end: 5726,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5726,\n            end: 5727,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 5727,\n            end: 5731,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5731,\n            end: 5733,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 5733,\n            end: 5745,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 5745,\n            end: 5746,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5746,\n            end: 5747,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"isTrue\",\n            start: 5747,\n            end: 5753,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5753,\n            end: 5754,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 5754,\n            end: 5755,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5755,\n            end: 5756,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5756,\n            end: 5757,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 5757,\n            end: 5758,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5758,\n            end: 5759,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 5759,\n            end: 5764,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5764,\n            end: 5765,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"isTrue\",\n            start: 5765,\n            end: 5771,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5771,\n            end: 5772,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5772,\n            end: 5773,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 5773,\n            end: 5776,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 5776,\n            end: 5777,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ_le_succ\",\n            start: 5777,\n            end: 5789,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5789,\n            end: 5790,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 5790,\n            end: 5791,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5791,\n            end: 5792,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5792,\n            end: 5794,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 5794,\n            end: 5806,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 5806,\n            end: 5807,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5807,\n            end: 5808,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"isFalse\",\n            start: 5808,\n            end: 5815,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5815,\n            end: 5816,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 5816,\n            end: 5817,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5817,\n            end: 5818,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5818,\n            end: 5819,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 5819,\n            end: 5820,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5820,\n            end: 5821,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 5821,\n            end: 5826,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5826,\n            end: 5827,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"isFalse\",\n            start: 5827,\n            end: 5834,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5834,\n            end: 5835,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5835,\n            end: 5836,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 5836,\n            end: 5839,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5839,\n            end: 5840,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h'\",\n            start: 5840,\n            end: 5842,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5842,\n            end: 5843,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 5843,\n            end: 5844,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 5844,\n            end: 5845,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5845,\n            end: 5846,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 5846,\n            end: 5847,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5847,\n            end: 5848,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5848,\n            end: 5849,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 5849,\n            end: 5852,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 5852,\n            end: 5853,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"le_of_succ_le_succ\",\n            start: 5853,\n            end: 5871,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5871,\n            end: 5872,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h'\",\n            start: 5872,\n            end: 5874,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5874,\n            end: 5875,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5875,\n            end: 5876,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5876,\n            end: 5878,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5878,\n            end: 5880,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Type classes with operations\",\n            start: 5880,\n            end: 5911,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5911,\n            end: 5913,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"class\",\n            start: 5913,\n            end: 5918,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5918,\n            end: 5919,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Functor\",\n            start: 5919,\n            end: 5926,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5926,\n            end: 5927,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5927,\n            end: 5928,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"F\",\n            start: 5928,\n            end: 5929,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5929,\n            end: 5930,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5930,\n            end: 5931,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5931,\n            end: 5932,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 5932,\n            end: 5936,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 5936,\n            end: 5937,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5937,\n            end: 5938,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 5938,\n            end: 5941,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5941,\n            end: 5942,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 5942,\n            end: 5946,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 5946,\n            end: 5947,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5947,\n            end: 5948,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5948,\n            end: 5949,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 5949,\n            end: 5954,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5954,\n            end: 5956,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 5956,\n            end: 5960,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 5960,\n            end: 5963,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5963,\n            end: 5964,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5964,\n            end: 5965,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5965,\n            end: 5966,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 5966,\n            end: 5967,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 5967,\n            end: 5969,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5969,\n            end: 5970,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 5970,\n            end: 5972,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5972,\n            end: 5973,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 5973,\n            end: 5974,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5974,\n            end: 5975,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 5975,\n            end: 5979,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 5979,\n            end: 5980,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 5980,\n            end: 5981,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5981,\n            end: 5982,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 5982,\n            end: 5985,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5985,\n            end: 5986,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5986,\n            end: 5987,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 5987,\n            end: 5989,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5989,\n            end: 5990,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 5990,\n            end: 5993,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5993,\n            end: 5994,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 5994,\n            end: 5996,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5996,\n            end: 5997,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5997,\n            end: 5998,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 5998,\n            end: 6001,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6001,\n            end: 6002,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"F\",\n            start: 6002,\n            end: 6003,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6003,\n            end: 6004,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6004,\n            end: 6006,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6006,\n            end: 6007,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6007,\n            end: 6010,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6010,\n            end: 6011,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"F\",\n            start: 6011,\n            end: 6012,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6012,\n            end: 6013,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6013,\n            end: 6015,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6015,\n            end: 6017,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 6017,\n            end: 6021,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map_id\",\n            start: 6021,\n            end: 6027,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6027,\n            end: 6028,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6028,\n            end: 6029,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6029,\n            end: 6030,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 6030,\n            end: 6033,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6033,\n            end: 6034,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6034,\n            end: 6035,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6035,\n            end: 6037,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6037,\n            end: 6038,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6038,\n            end: 6039,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6039,\n            end: 6040,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 6040,\n            end: 6044,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 6044,\n            end: 6045,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6045,\n            end: 6046,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6046,\n            end: 6047,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6047,\n            end: 6048,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 6048,\n            end: 6049,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6049,\n            end: 6050,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6050,\n            end: 6051,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6051,\n            end: 6052,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"F\",\n            start: 6052,\n            end: 6053,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6053,\n            end: 6054,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6054,\n            end: 6056,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6056,\n            end: 6057,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6057,\n            end: 6058,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6058,\n            end: 6059,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 6059,\n            end: 6062,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6062,\n            end: 6063,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"id\",\n            start: 6063,\n            end: 6065,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6065,\n            end: 6066,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 6066,\n            end: 6067,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6067,\n            end: 6068,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6068,\n            end: 6069,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6069,\n            end: 6070,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 6070,\n            end: 6071,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6071,\n            end: 6073,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 6073,\n            end: 6077,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map_comp\",\n            start: 6077,\n            end: 6085,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6085,\n            end: 6086,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6086,\n            end: 6087,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6087,\n            end: 6088,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 6088,\n            end: 6091,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6091,\n            end: 6092,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6092,\n            end: 6093,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6093,\n            end: 6095,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6095,\n            end: 6096,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6096,\n            end: 6098,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6098,\n            end: 6099,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 6099,\n            end: 6101,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6101,\n            end: 6102,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6102,\n            end: 6103,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6103,\n            end: 6104,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 6104,\n            end: 6108,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 6108,\n            end: 6109,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6109,\n            end: 6110,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6110,\n            end: 6111,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6111,\n            end: 6112,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 6112,\n            end: 6113,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6113,\n            end: 6114,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6114,\n            end: 6115,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6115,\n            end: 6116,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6116,\n            end: 6118,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6118,\n            end: 6119,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6119,\n            end: 6122,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6122,\n            end: 6123,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 6123,\n            end: 6125,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6125,\n            end: 6126,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6126,\n            end: 6127,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6127,\n            end: 6128,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 6128,\n            end: 6129,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6129,\n            end: 6130,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6130,\n            end: 6131,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6131,\n            end: 6132,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6132,\n            end: 6134,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6134,\n            end: 6135,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6135,\n            end: 6138,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6138,\n            end: 6139,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6139,\n            end: 6141,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6141,\n            end: 6142,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6142,\n            end: 6143,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6143,\n            end: 6144,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 6144,\n            end: 6145,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6145,\n            end: 6146,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6146,\n            end: 6147,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6147,\n            end: 6148,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"F\",\n            start: 6148,\n            end: 6149,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6149,\n            end: 6150,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6150,\n            end: 6152,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6152,\n            end: 6153,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6153,\n            end: 6154,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6154,\n            end: 6155,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6155,\n            end: 6157,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 6157,\n            end: 6165,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 6165,\n            end: 6168,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6168,\n            end: 6169,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6169,\n            end: 6170,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 6170,\n            end: 6171,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6171,\n            end: 6172,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∘\",\n            start: 6172,\n            end: 6175,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6175,\n            end: 6176,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 6176,\n            end: 6177,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6177,\n            end: 6178,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6178,\n            end: 6179,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 6179,\n            end: 6180,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6180,\n            end: 6181,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6181,\n            end: 6182,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6182,\n            end: 6183,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 6183,\n            end: 6186,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6186,\n            end: 6187,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 6187,\n            end: 6188,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6188,\n            end: 6189,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6189,\n            end: 6190,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 6190,\n            end: 6193,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6193,\n            end: 6194,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 6194,\n            end: 6195,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6195,\n            end: 6196,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 6196,\n            end: 6197,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6197,\n            end: 6198,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6198,\n            end: 6200,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6200,\n            end: 6202,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"instance\",\n            start: 6202,\n            end: 6210,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6210,\n            end: 6211,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6211,\n            end: 6212,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6212,\n            end: 6213,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Functor\",\n            start: 6213,\n            end: 6220,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6220,\n            end: 6221,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 6221,\n            end: 6225,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6225,\n            end: 6226,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 6226,\n            end: 6231,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6231,\n            end: 6233,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 6233,\n            end: 6237,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 6237,\n            end: 6240,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6240,\n            end: 6241,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6241,\n            end: 6242,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6242,\n            end: 6243,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6243,\n            end: 6244,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 6244,\n            end: 6248,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 6248,\n            end: 6249,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 6249,\n            end: 6252,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6252,\n            end: 6254,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 6254,\n            end: 6258,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map_id\",\n            start: 6258,\n            end: 6264,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6264,\n            end: 6265,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6265,\n            end: 6266,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6266,\n            end: 6267,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6267,\n            end: 6268,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 6268,\n            end: 6270,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6270,\n            end: 6272,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 6272,\n            end: 6280,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 6280,\n            end: 6285,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6285,\n            end: 6286,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6286,\n            end: 6288,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6288,\n            end: 6289,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 6289,\n            end: 6290,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6290,\n            end: 6292,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 6292,\n            end: 6300,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"induction\",\n            start: 6300,\n            end: 6309,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6309,\n            end: 6310,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 6310,\n            end: 6311,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6311,\n            end: 6312,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 6312,\n            end: 6316,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6316,\n            end: 6318,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 6318,\n            end: 6326,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 6326,\n            end: 6327,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6327,\n            end: 6328,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nil\",\n            start: 6328,\n            end: 6331,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6331,\n            end: 6332,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6332,\n            end: 6333,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 6333,\n            end: 6334,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6334,\n            end: 6335,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 6335,\n            end: 6338,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6338,\n            end: 6340,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 6340,\n            end: 6348,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 6348,\n            end: 6349,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6349,\n            end: 6350,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cons\",\n            start: 6350,\n            end: 6354,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6354,\n            end: 6355,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 6355,\n            end: 6356,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6356,\n            end: 6357,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"t\",\n            start: 6357,\n            end: 6358,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6358,\n            end: 6359,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 6359,\n            end: 6361,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6361,\n            end: 6362,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6362,\n            end: 6363,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 6363,\n            end: 6364,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6364,\n            end: 6365,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 6365,\n            end: 6369,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6369,\n            end: 6370,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 6370,\n            end: 6371,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 6371,\n            end: 6375,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 6375,\n            end: 6376,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 6376,\n            end: 6379,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6379,\n            end: 6380,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6380,\n            end: 6381,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 6381,\n            end: 6383,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 6383,\n            end: 6384,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6384,\n            end: 6386,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 6386,\n            end: 6390,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map_comp\",\n            start: 6390,\n            end: 6398,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6398,\n            end: 6399,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6399,\n            end: 6400,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6400,\n            end: 6401,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6401,\n            end: 6402,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 6402,\n            end: 6404,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6404,\n            end: 6406,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 6406,\n            end: 6414,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 6414,\n            end: 6419,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6419,\n            end: 6420,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6420,\n            end: 6422,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6422,\n            end: 6423,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6423,\n            end: 6425,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6425,\n            end: 6426,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 6426,\n            end: 6428,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6428,\n            end: 6429,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 6429,\n            end: 6430,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6430,\n            end: 6431,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 6431,\n            end: 6432,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6432,\n            end: 6433,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 6433,\n            end: 6434,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6434,\n            end: 6436,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 6436,\n            end: 6444,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"induction\",\n            start: 6444,\n            end: 6453,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6453,\n            end: 6454,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 6454,\n            end: 6455,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6455,\n            end: 6456,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 6456,\n            end: 6460,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6460,\n            end: 6462,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 6462,\n            end: 6470,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 6470,\n            end: 6471,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6471,\n            end: 6472,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nil\",\n            start: 6472,\n            end: 6475,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6475,\n            end: 6476,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6476,\n            end: 6477,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 6477,\n            end: 6478,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6478,\n            end: 6479,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 6479,\n            end: 6482,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6482,\n            end: 6484,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 6484,\n            end: 6492,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 6492,\n            end: 6493,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6493,\n            end: 6494,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cons\",\n            start: 6494,\n            end: 6498,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6498,\n            end: 6499,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 6499,\n            end: 6500,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6500,\n            end: 6501,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"t\",\n            start: 6501,\n            end: 6502,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6502,\n            end: 6503,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 6503,\n            end: 6505,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6505,\n            end: 6506,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6506,\n            end: 6507,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 6507,\n            end: 6508,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6508,\n            end: 6509,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 6509,\n            end: 6513,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6513,\n            end: 6514,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 6514,\n            end: 6515,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 6515,\n            end: 6519,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 6519,\n            end: 6520,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 6520,\n            end: 6523,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6523,\n            end: 6524,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6524,\n            end: 6525,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 6525,\n            end: 6527,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 6527,\n            end: 6528,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6528,\n            end: 6530,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6530,\n            end: 6532,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Monad instance\",\n            start: 6532,\n            end: 6549,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6549,\n            end: 6551,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"class\",\n            start: 6551,\n            end: 6556,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6556,\n            end: 6557,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Monad\",\n            start: 6557,\n            end: 6562,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6562,\n            end: 6563,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6563,\n            end: 6564,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6564,\n            end: 6565,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6565,\n            end: 6566,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6566,\n            end: 6567,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6567,\n            end: 6568,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 6568,\n            end: 6572,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 6572,\n            end: 6573,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6573,\n            end: 6574,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6574,\n            end: 6577,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6577,\n            end: 6578,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 6578,\n            end: 6582,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 6582,\n            end: 6583,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6583,\n            end: 6584,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6584,\n            end: 6585,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"extends\",\n            start: 6585,\n            end: 6592,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6592,\n            end: 6593,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Functor\",\n            start: 6593,\n            end: 6600,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6600,\n            end: 6601,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6601,\n            end: 6602,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6602,\n            end: 6603,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 6603,\n            end: 6608,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6608,\n            end: 6610,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 6610,\n            end: 6614,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"pure\",\n            start: 6614,\n            end: 6618,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6618,\n            end: 6619,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6619,\n            end: 6620,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6620,\n            end: 6621,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6621,\n            end: 6622,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6622,\n            end: 6624,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6624,\n            end: 6625,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6625,\n            end: 6626,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6626,\n            end: 6627,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 6627,\n            end: 6631,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 6631,\n            end: 6632,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6632,\n            end: 6633,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6633,\n            end: 6634,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6634,\n            end: 6637,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6637,\n            end: 6638,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6638,\n            end: 6640,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6640,\n            end: 6641,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6641,\n            end: 6644,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6644,\n            end: 6645,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6645,\n            end: 6646,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6646,\n            end: 6647,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6647,\n            end: 6649,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6649,\n            end: 6651,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 6651,\n            end: 6655,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"bind\",\n            start: 6655,\n            end: 6659,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6659,\n            end: 6660,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6660,\n            end: 6661,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6661,\n            end: 6662,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6662,\n            end: 6663,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6663,\n            end: 6665,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6665,\n            end: 6666,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6666,\n            end: 6668,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6668,\n            end: 6669,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6669,\n            end: 6670,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6670,\n            end: 6671,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 6671,\n            end: 6675,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 6675,\n            end: 6676,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6676,\n            end: 6677,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6677,\n            end: 6678,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6678,\n            end: 6681,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6681,\n            end: 6682,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6682,\n            end: 6683,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6683,\n            end: 6684,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6684,\n            end: 6686,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6686,\n            end: 6687,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6687,\n            end: 6690,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6690,\n            end: 6691,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6691,\n            end: 6692,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6692,\n            end: 6694,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6694,\n            end: 6695,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6695,\n            end: 6698,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6698,\n            end: 6699,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6699,\n            end: 6700,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6700,\n            end: 6701,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6701,\n            end: 6703,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6703,\n            end: 6704,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6704,\n            end: 6705,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6705,\n            end: 6708,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6708,\n            end: 6709,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6709,\n            end: 6710,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6710,\n            end: 6711,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6711,\n            end: 6713,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6713,\n            end: 6715,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 6715,\n            end: 6719,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"left_id\",\n            start: 6719,\n            end: 6726,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6726,\n            end: 6727,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6727,\n            end: 6728,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6728,\n            end: 6729,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 6729,\n            end: 6732,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6732,\n            end: 6733,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6733,\n            end: 6734,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6734,\n            end: 6736,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6736,\n            end: 6737,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6737,\n            end: 6739,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6739,\n            end: 6740,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6740,\n            end: 6741,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6741,\n            end: 6742,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 6742,\n            end: 6746,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 6746,\n            end: 6747,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6747,\n            end: 6748,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6748,\n            end: 6749,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6749,\n            end: 6750,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 6750,\n            end: 6751,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6751,\n            end: 6752,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6752,\n            end: 6753,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6753,\n            end: 6754,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6754,\n            end: 6756,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6756,\n            end: 6757,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6757,\n            end: 6758,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6758,\n            end: 6759,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 6759,\n            end: 6760,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6760,\n            end: 6761,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6761,\n            end: 6762,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6762,\n            end: 6763,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6763,\n            end: 6765,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6765,\n            end: 6766,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6766,\n            end: 6769,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6769,\n            end: 6770,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6770,\n            end: 6771,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6771,\n            end: 6772,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6772,\n            end: 6774,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6774,\n            end: 6775,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6775,\n            end: 6776,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6776,\n            end: 6777,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"bind\",\n            start: 6777,\n            end: 6781,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6781,\n            end: 6782,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6782,\n            end: 6783,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"pure\",\n            start: 6783,\n            end: 6787,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6787,\n            end: 6788,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 6788,\n            end: 6789,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6789,\n            end: 6790,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6790,\n            end: 6791,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 6791,\n            end: 6792,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6792,\n            end: 6793,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6793,\n            end: 6794,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6794,\n            end: 6795,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 6795,\n            end: 6796,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6796,\n            end: 6797,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 6797,\n            end: 6798,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6798,\n            end: 6800,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 6800,\n            end: 6804,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"right_id\",\n            start: 6804,\n            end: 6812,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6812,\n            end: 6813,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6813,\n            end: 6814,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6814,\n            end: 6815,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 6815,\n            end: 6818,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6818,\n            end: 6819,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6819,\n            end: 6820,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6820,\n            end: 6822,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6822,\n            end: 6823,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6823,\n            end: 6824,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6824,\n            end: 6825,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 6825,\n            end: 6829,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 6829,\n            end: 6830,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6830,\n            end: 6831,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6831,\n            end: 6832,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6832,\n            end: 6833,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 6833,\n            end: 6834,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6834,\n            end: 6835,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6835,\n            end: 6836,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6836,\n            end: 6837,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6837,\n            end: 6838,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6838,\n            end: 6839,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6839,\n            end: 6841,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6841,\n            end: 6842,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6842,\n            end: 6843,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6843,\n            end: 6844,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"bind\",\n            start: 6844,\n            end: 6848,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6848,\n            end: 6849,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 6849,\n            end: 6850,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6850,\n            end: 6851,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"pure\",\n            start: 6851,\n            end: 6855,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6855,\n            end: 6856,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6856,\n            end: 6857,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6857,\n            end: 6858,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 6858,\n            end: 6859,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6859,\n            end: 6861,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 6861,\n            end: 6865,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"assoc\",\n            start: 6865,\n            end: 6870,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6870,\n            end: 6871,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6871,\n            end: 6872,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6872,\n            end: 6873,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 6873,\n            end: 6876,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6876,\n            end: 6877,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6877,\n            end: 6878,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6878,\n            end: 6880,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6880,\n            end: 6881,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6881,\n            end: 6883,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6883,\n            end: 6884,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 6884,\n            end: 6886,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6886,\n            end: 6887,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6887,\n            end: 6888,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6888,\n            end: 6889,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 6889,\n            end: 6893,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 6893,\n            end: 6894,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6894,\n            end: 6895,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6895,\n            end: 6896,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6896,\n            end: 6897,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 6897,\n            end: 6898,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6898,\n            end: 6899,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6899,\n            end: 6900,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6900,\n            end: 6901,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6901,\n            end: 6902,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6902,\n            end: 6903,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6903,\n            end: 6905,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6905,\n            end: 6906,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6906,\n            end: 6907,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6907,\n            end: 6908,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 6908,\n            end: 6909,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6909,\n            end: 6910,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6910,\n            end: 6911,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6911,\n            end: 6912,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 6912,\n            end: 6914,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6914,\n            end: 6915,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6915,\n            end: 6918,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6918,\n            end: 6919,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6919,\n            end: 6920,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6920,\n            end: 6921,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6921,\n            end: 6923,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6923,\n            end: 6924,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6924,\n            end: 6925,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6925,\n            end: 6926,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 6926,\n            end: 6927,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6927,\n            end: 6928,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 6928,\n            end: 6929,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6929,\n            end: 6930,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 6930,\n            end: 6932,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6932,\n            end: 6933,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 6933,\n            end: 6936,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6936,\n            end: 6937,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 6937,\n            end: 6938,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6938,\n            end: 6939,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 6939,\n            end: 6941,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6941,\n            end: 6942,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6942,\n            end: 6943,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6943,\n            end: 6945,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 6945,\n            end: 6953,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"bind\",\n            start: 6953,\n            end: 6957,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6957,\n            end: 6958,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6958,\n            end: 6959,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"bind\",\n            start: 6959,\n            end: 6963,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6963,\n            end: 6964,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 6964,\n            end: 6965,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6965,\n            end: 6966,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 6966,\n            end: 6967,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6967,\n            end: 6968,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6968,\n            end: 6969,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 6969,\n            end: 6970,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6970,\n            end: 6971,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6971,\n            end: 6972,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6972,\n            end: 6973,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"bind\",\n            start: 6973,\n            end: 6977,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6977,\n            end: 6978,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 6978,\n            end: 6979,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6979,\n            end: 6980,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6980,\n            end: 6981,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 6981,\n            end: 6984,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6984,\n            end: 6985,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 6985,\n            end: 6986,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6986,\n            end: 6987,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 6987,\n            end: 6988,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 6988,\n            end: 6989,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6989,\n            end: 6990,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"bind\",\n            start: 6990,\n            end: 6994,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6994,\n            end: 6995,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6995,\n            end: 6996,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 6996,\n            end: 6997,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6997,\n            end: 6998,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 6998,\n            end: 6999,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6999,\n            end: 7000,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7000,\n            end: 7001,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 7001,\n            end: 7002,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 7002,\n            end: 7003,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7003,\n            end: 7005,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7005,\n            end: 7007,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Option monad\",\n            start: 7007,\n            end: 7022,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7022,\n            end: 7024,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"instance\",\n            start: 7024,\n            end: 7032,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7032,\n            end: 7033,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7033,\n            end: 7034,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7034,\n            end: 7035,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Monad\",\n            start: 7035,\n            end: 7040,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7040,\n            end: 7041,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Option\",\n            start: 7041,\n            end: 7047,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7047,\n            end: 7048,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 7048,\n            end: 7053,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7053,\n            end: 7055,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 7055,\n            end: 7059,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"pure\",\n            start: 7059,\n            end: 7063,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7063,\n            end: 7064,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7064,\n            end: 7065,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7065,\n            end: 7066,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7066,\n            end: 7067,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"some\",\n            start: 7067,\n            end: 7071,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7071,\n            end: 7073,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 7073,\n            end: 7077,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"bind\",\n            start: 7077,\n            end: 7081,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7081,\n            end: 7082,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7082,\n            end: 7083,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7083,\n            end: 7084,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7084,\n            end: 7085,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 7085,\n            end: 7088,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7088,\n            end: 7089,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 7089,\n            end: 7090,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7090,\n            end: 7091,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 7091,\n            end: 7092,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7092,\n            end: 7093,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7093,\n            end: 7094,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 7094,\n            end: 7095,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7095,\n            end: 7096,\n        },\n        TokenData {\n            kind: \"Match\",\n            text: \"match\",\n            start: 7096,\n            end: 7101,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7101,\n            end: 7102,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 7102,\n            end: 7103,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7103,\n            end: 7104,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 7104,\n            end: 7108,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7108,\n            end: 7110,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7110,\n            end: 7118,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 7118,\n            end: 7119,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7119,\n            end: 7120,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"none\",\n            start: 7120,\n            end: 7124,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7124,\n            end: 7125,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7125,\n            end: 7126,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 7126,\n            end: 7127,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7127,\n            end: 7128,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"none\",\n            start: 7128,\n            end: 7132,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7132,\n            end: 7134,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7134,\n            end: 7142,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 7142,\n            end: 7143,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7143,\n            end: 7144,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"some\",\n            start: 7144,\n            end: 7148,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7148,\n            end: 7149,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7149,\n            end: 7150,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7150,\n            end: 7151,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7151,\n            end: 7152,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 7152,\n            end: 7153,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7153,\n            end: 7154,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 7154,\n            end: 7155,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7155,\n            end: 7156,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7156,\n            end: 7157,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7157,\n            end: 7159,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 7159,\n            end: 7163,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"left_id\",\n            start: 7163,\n            end: 7170,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7170,\n            end: 7171,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7171,\n            end: 7172,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7172,\n            end: 7173,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7173,\n            end: 7174,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 7174,\n            end: 7176,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7176,\n            end: 7178,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7178,\n            end: 7186,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 7186,\n            end: 7191,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7191,\n            end: 7192,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7192,\n            end: 7194,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7194,\n            end: 7195,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 7195,\n            end: 7197,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7197,\n            end: 7198,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7198,\n            end: 7199,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7199,\n            end: 7200,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 7200,\n            end: 7201,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7201,\n            end: 7203,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7203,\n            end: 7211,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 7211,\n            end: 7214,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7214,\n            end: 7216,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 7216,\n            end: 7220,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"right_id\",\n            start: 7220,\n            end: 7228,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7228,\n            end: 7229,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7229,\n            end: 7230,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7230,\n            end: 7231,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7231,\n            end: 7232,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 7232,\n            end: 7234,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7234,\n            end: 7236,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7236,\n            end: 7244,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 7244,\n            end: 7249,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7249,\n            end: 7250,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7250,\n            end: 7252,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7252,\n            end: 7253,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 7253,\n            end: 7254,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7254,\n            end: 7256,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7256,\n            end: 7264,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cases\",\n            start: 7264,\n            end: 7269,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7269,\n            end: 7270,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 7270,\n            end: 7271,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7271,\n            end: 7272,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 7272,\n            end: 7276,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7276,\n            end: 7278,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7278,\n            end: 7286,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 7286,\n            end: 7287,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7287,\n            end: 7288,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"none\",\n            start: 7288,\n            end: 7292,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7292,\n            end: 7293,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7293,\n            end: 7294,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 7294,\n            end: 7295,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7295,\n            end: 7296,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 7296,\n            end: 7299,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7299,\n            end: 7301,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7301,\n            end: 7309,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 7309,\n            end: 7310,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7310,\n            end: 7311,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"some\",\n            start: 7311,\n            end: 7315,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7315,\n            end: 7316,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7316,\n            end: 7317,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7317,\n            end: 7318,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7318,\n            end: 7319,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 7319,\n            end: 7320,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7320,\n            end: 7321,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 7321,\n            end: 7324,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7324,\n            end: 7326,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 7326,\n            end: 7330,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"assoc\",\n            start: 7330,\n            end: 7335,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7335,\n            end: 7336,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7336,\n            end: 7337,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7337,\n            end: 7338,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7338,\n            end: 7339,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 7339,\n            end: 7341,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7341,\n            end: 7343,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7343,\n            end: 7351,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 7351,\n            end: 7356,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7356,\n            end: 7357,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7357,\n            end: 7359,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7359,\n            end: 7360,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"β\",\n            start: 7360,\n            end: 7362,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7362,\n            end: 7363,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"γ\",\n            start: 7363,\n            end: 7365,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7365,\n            end: 7366,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 7366,\n            end: 7367,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7367,\n            end: 7368,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"f\",\n            start: 7368,\n            end: 7369,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7369,\n            end: 7370,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 7370,\n            end: 7371,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7371,\n            end: 7373,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7373,\n            end: 7381,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cases\",\n            start: 7381,\n            end: 7386,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7386,\n            end: 7387,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 7387,\n            end: 7388,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7388,\n            end: 7389,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 7389,\n            end: 7393,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7393,\n            end: 7395,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7395,\n            end: 7403,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 7403,\n            end: 7404,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7404,\n            end: 7405,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"none\",\n            start: 7405,\n            end: 7409,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7409,\n            end: 7410,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7410,\n            end: 7411,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 7411,\n            end: 7412,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7412,\n            end: 7413,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 7413,\n            end: 7416,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7416,\n            end: 7418,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 7418,\n            end: 7426,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 7426,\n            end: 7427,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7427,\n            end: 7428,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"some\",\n            start: 7428,\n            end: 7432,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7432,\n            end: 7433,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7433,\n            end: 7434,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7434,\n            end: 7435,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7435,\n            end: 7436,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 7436,\n            end: 7437,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7437,\n            end: 7438,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 7438,\n            end: 7441,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7441,\n            end: 7443,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7443,\n            end: 7445,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Quotient types\",\n            start: 7445,\n            end: 7462,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7462,\n            end: 7464,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 7464,\n            end: 7467,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7467,\n            end: 7468,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Equiv\",\n            start: 7468,\n            end: 7473,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7473,\n            end: 7474,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 7474,\n            end: 7475,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7475,\n            end: 7477,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7477,\n            end: 7478,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7478,\n            end: 7479,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7479,\n            end: 7480,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 7480,\n            end: 7484,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 7484,\n            end: 7485,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 7485,\n            end: 7486,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7486,\n            end: 7487,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7487,\n            end: 7488,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7488,\n            end: 7489,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7489,\n            end: 7490,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7490,\n            end: 7492,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7492,\n            end: 7493,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 7493,\n            end: 7496,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7496,\n            end: 7497,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7497,\n            end: 7499,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7499,\n            end: 7500,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 7500,\n            end: 7503,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7503,\n            end: 7504,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Prop\",\n            start: 7504,\n            end: 7508,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7508,\n            end: 7510,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7510,\n            end: 7512,\n        },\n        TokenData {\n            kind: \"Variable\",\n            text: \"variable\",\n            start: 7512,\n            end: 7520,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7520,\n            end: 7521,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 7521,\n            end: 7522,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 7522,\n            end: 7523,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7523,\n            end: 7524,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7524,\n            end: 7525,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7525,\n            end: 7526,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Equiv\",\n            start: 7526,\n            end: 7531,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7531,\n            end: 7532,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7532,\n            end: 7534,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 7534,\n            end: 7535,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7535,\n            end: 7537,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7537,\n            end: 7539,\n        },\n        TokenData {\n            kind: \"Axiom\",\n            text: \"axiom\",\n            start: 7539,\n            end: 7544,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7544,\n            end: 7545,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"equiv_refl\",\n            start: 7545,\n            end: 7555,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7555,\n            end: 7556,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7556,\n            end: 7557,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7557,\n            end: 7558,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 7558,\n            end: 7561,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7561,\n            end: 7562,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7562,\n            end: 7563,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7563,\n            end: 7564,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7564,\n            end: 7565,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7565,\n            end: 7566,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7566,\n            end: 7568,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 7568,\n            end: 7569,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7569,\n            end: 7570,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 7570,\n            end: 7571,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7571,\n            end: 7572,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7572,\n            end: 7573,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7573,\n            end: 7574,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7574,\n            end: 7575,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7575,\n            end: 7577,\n        },\n        TokenData {\n            kind: \"Axiom\",\n            text: \"axiom\",\n            start: 7577,\n            end: 7582,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7582,\n            end: 7583,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"equiv_symm\",\n            start: 7583,\n            end: 7593,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7593,\n            end: 7594,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7594,\n            end: 7595,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7595,\n            end: 7596,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 7596,\n            end: 7599,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7599,\n            end: 7600,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7600,\n            end: 7601,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7601,\n            end: 7602,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 7602,\n            end: 7603,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7603,\n            end: 7604,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7604,\n            end: 7605,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7605,\n            end: 7606,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7606,\n            end: 7608,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 7608,\n            end: 7609,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7609,\n            end: 7610,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 7610,\n            end: 7611,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7611,\n            end: 7612,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7612,\n            end: 7613,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7613,\n            end: 7614,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 7614,\n            end: 7615,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7615,\n            end: 7616,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 7616,\n            end: 7619,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7619,\n            end: 7620,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 7620,\n            end: 7621,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7621,\n            end: 7622,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 7622,\n            end: 7623,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7623,\n            end: 7624,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7624,\n            end: 7625,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7625,\n            end: 7627,\n        },\n        TokenData {\n            kind: \"Axiom\",\n            text: \"axiom\",\n            start: 7627,\n            end: 7632,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7632,\n            end: 7633,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"equiv_trans\",\n            start: 7633,\n            end: 7644,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7644,\n            end: 7645,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7645,\n            end: 7646,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7646,\n            end: 7647,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 7647,\n            end: 7650,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7650,\n            end: 7651,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7651,\n            end: 7652,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7652,\n            end: 7653,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 7653,\n            end: 7654,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7654,\n            end: 7655,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 7655,\n            end: 7656,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7656,\n            end: 7657,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7657,\n            end: 7658,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7658,\n            end: 7659,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7659,\n            end: 7661,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 7661,\n            end: 7662,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7662,\n            end: 7663,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 7663,\n            end: 7664,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7664,\n            end: 7665,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7665,\n            end: 7666,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7666,\n            end: 7667,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 7667,\n            end: 7668,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7668,\n            end: 7669,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 7669,\n            end: 7672,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7672,\n            end: 7673,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 7673,\n            end: 7674,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7674,\n            end: 7675,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 7675,\n            end: 7676,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7676,\n            end: 7677,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 7677,\n            end: 7678,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7678,\n            end: 7679,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 7679,\n            end: 7682,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7682,\n            end: 7683,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 7683,\n            end: 7684,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7684,\n            end: 7685,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7685,\n            end: 7686,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7686,\n            end: 7687,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 7687,\n            end: 7688,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7688,\n            end: 7690,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7690,\n            end: 7692,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 7692,\n            end: 7695,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7695,\n            end: 7696,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Quotient\",\n            start: 7696,\n            end: 7704,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7704,\n            end: 7705,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 7705,\n            end: 7706,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 7706,\n            end: 7707,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7707,\n            end: 7708,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7708,\n            end: 7709,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7709,\n            end: 7710,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Equiv\",\n            start: 7710,\n            end: 7715,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7715,\n            end: 7716,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 7716,\n            end: 7718,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 7718,\n            end: 7719,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7719,\n            end: 7720,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7720,\n            end: 7721,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7721,\n            end: 7722,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 7722,\n            end: 7726,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 7726,\n            end: 7727,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7727,\n            end: 7728,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7728,\n            end: 7729,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7729,\n            end: 7730,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7730,\n            end: 7731,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Quot\",\n            start: 7731,\n            end: 7735,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7735,\n            end: 7736,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"r\",\n            start: 7736,\n            end: 7737,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7737,\n            end: 7739,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7739,\n            end: 7741,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Inductive-recursive definitions\",\n            start: 7741,\n            end: 7775,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7775,\n            end: 7777,\n        },\n        TokenData {\n            kind: \"Inductive\",\n            text: \"inductive\",\n            start: 7777,\n            end: 7786,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7786,\n            end: 7787,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Code\",\n            start: 7787,\n            end: 7791,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7791,\n            end: 7792,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7792,\n            end: 7793,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7793,\n            end: 7794,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 7794,\n            end: 7798,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7798,\n            end: 7799,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 7799,\n            end: 7804,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7804,\n            end: 7806,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 7806,\n            end: 7810,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 7810,\n            end: 7811,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7811,\n            end: 7812,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nat\",\n            start: 7812,\n            end: 7815,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7815,\n            end: 7816,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7816,\n            end: 7817,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7817,\n            end: 7818,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Code\",\n            start: 7818,\n            end: 7822,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7822,\n            end: 7824,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 7824,\n            end: 7828,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 7828,\n            end: 7829,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7829,\n            end: 7830,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"pi\",\n            start: 7830,\n            end: 7832,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7832,\n            end: 7833,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7833,\n            end: 7834,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7834,\n            end: 7835,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Code\",\n            start: 7835,\n            end: 7839,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7839,\n            end: 7840,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 7840,\n            end: 7843,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7843,\n            end: 7844,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 7844,\n            end: 7845,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 7845,\n            end: 7848,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7848,\n            end: 7849,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 7849,\n            end: 7852,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7852,\n            end: 7853,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Code\",\n            start: 7853,\n            end: 7857,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 7857,\n            end: 7858,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7858,\n            end: 7859,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 7859,\n            end: 7862,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7862,\n            end: 7863,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Code\",\n            start: 7863,\n            end: 7867,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7867,\n            end: 7869,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7869,\n            end: 7871,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 7871,\n            end: 7874,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7874,\n            end: 7875,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"decode\",\n            start: 7875,\n            end: 7881,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7881,\n            end: 7882,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7882,\n            end: 7883,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7883,\n            end: 7884,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Code\",\n            start: 7884,\n            end: 7888,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7888,\n            end: 7889,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 7889,\n            end: 7892,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7892,\n            end: 7893,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 7893,\n            end: 7897,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7897,\n            end: 7899,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 7899,\n            end: 7903,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 7903,\n            end: 7904,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7904,\n            end: 7905,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Code\",\n            start: 7905,\n            end: 7909,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 7909,\n            end: 7910,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nat\",\n            start: 7910,\n            end: 7913,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7913,\n            end: 7914,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7914,\n            end: 7915,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 7915,\n            end: 7916,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7916,\n            end: 7917,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 7917,\n            end: 7920,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7920,\n            end: 7922,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 7922,\n            end: 7926,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 7926,\n            end: 7927,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7927,\n            end: 7928,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Code\",\n            start: 7928,\n            end: 7932,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 7932,\n            end: 7933,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"pi\",\n            start: 7933,\n            end: 7935,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7935,\n            end: 7936,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7936,\n            end: 7937,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7937,\n            end: 7938,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 7938,\n            end: 7939,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7939,\n            end: 7940,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 7940,\n            end: 7941,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 7941,\n            end: 7942,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7942,\n            end: 7943,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 7943,\n            end: 7944,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 7944,\n            end: 7945,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7945,\n            end: 7946,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7946,\n            end: 7947,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7947,\n            end: 7948,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"decode\",\n            start: 7948,\n            end: 7954,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7954,\n            end: 7955,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 7955,\n            end: 7956,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 7956,\n            end: 7957,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7957,\n            end: 7958,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 7958,\n            end: 7961,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7961,\n            end: 7962,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"decode\",\n            start: 7962,\n            end: 7968,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7968,\n            end: 7969,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 7969,\n            end: 7970,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 7970,\n            end: 7971,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7971,\n            end: 7972,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 7972,\n            end: 7973,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sorry\",\n            start: 7973,\n            end: 7978,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7978,\n            end: 7979,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 7979,\n            end: 7980,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7980,\n            end: 7981,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 7981,\n            end: 7984,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 7984,\n            end: 7985,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 7985,\n            end: 7986,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7986,\n            end: 7988,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7988,\n            end: 7990,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Coinductive types\",\n            start: 7990,\n            end: 8010,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8010,\n            end: 8012,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"coinductive\",\n            start: 8012,\n            end: 8023,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8023,\n            end: 8024,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Stream\",\n            start: 8024,\n            end: 8030,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8030,\n            end: 8031,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8031,\n            end: 8032,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 8032,\n            end: 8034,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8034,\n            end: 8035,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8035,\n            end: 8036,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8036,\n            end: 8037,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 8037,\n            end: 8041,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 8041,\n            end: 8042,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8042,\n            end: 8043,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8043,\n            end: 8044,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8044,\n            end: 8045,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8045,\n            end: 8046,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 8046,\n            end: 8050,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 8050,\n            end: 8051,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8051,\n            end: 8052,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 8052,\n            end: 8057,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8057,\n            end: 8059,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8059,\n            end: 8063,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8063,\n            end: 8064,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8064,\n            end: 8065,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cons\",\n            start: 8065,\n            end: 8069,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8069,\n            end: 8070,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8070,\n            end: 8071,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8071,\n            end: 8072,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 8072,\n            end: 8074,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8074,\n            end: 8075,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 8075,\n            end: 8078,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8078,\n            end: 8079,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Stream\",\n            start: 8079,\n            end: 8085,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8085,\n            end: 8086,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 8086,\n            end: 8088,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8088,\n            end: 8089,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 8089,\n            end: 8092,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8092,\n            end: 8093,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Stream\",\n            start: 8093,\n            end: 8099,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8099,\n            end: 8100,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 8100,\n            end: 8102,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8102,\n            end: 8104,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8104,\n            end: 8106,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 8106,\n            end: 8109,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8109,\n            end: 8110,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Stream\",\n            start: 8110,\n            end: 8116,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 8116,\n            end: 8117,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"head\",\n            start: 8117,\n            end: 8121,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8121,\n            end: 8122,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8122,\n            end: 8123,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8123,\n            end: 8124,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Stream\",\n            start: 8124,\n            end: 8130,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8130,\n            end: 8131,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 8131,\n            end: 8133,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8133,\n            end: 8134,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 8134,\n            end: 8137,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8137,\n            end: 8138,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 8138,\n            end: 8140,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8140,\n            end: 8142,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8142,\n            end: 8146,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8146,\n            end: 8147,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8147,\n            end: 8148,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Stream\",\n            start: 8148,\n            end: 8154,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 8154,\n            end: 8155,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cons\",\n            start: 8155,\n            end: 8159,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8159,\n            end: 8160,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 8160,\n            end: 8161,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8161,\n            end: 8162,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 8162,\n            end: 8163,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8163,\n            end: 8164,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8164,\n            end: 8165,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8165,\n            end: 8166,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8166,\n            end: 8167,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 8167,\n            end: 8168,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8168,\n            end: 8170,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8170,\n            end: 8172,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 8172,\n            end: 8175,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8175,\n            end: 8176,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Stream\",\n            start: 8176,\n            end: 8182,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 8182,\n            end: 8183,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"tail\",\n            start: 8183,\n            end: 8187,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8187,\n            end: 8188,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8188,\n            end: 8189,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8189,\n            end: 8190,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Stream\",\n            start: 8190,\n            end: 8196,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8196,\n            end: 8197,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 8197,\n            end: 8199,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8199,\n            end: 8200,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 8200,\n            end: 8203,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8203,\n            end: 8204,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Stream\",\n            start: 8204,\n            end: 8210,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8210,\n            end: 8211,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 8211,\n            end: 8213,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8213,\n            end: 8215,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8215,\n            end: 8219,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8219,\n            end: 8220,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8220,\n            end: 8221,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Stream\",\n            start: 8221,\n            end: 8227,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 8227,\n            end: 8228,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cons\",\n            start: 8228,\n            end: 8232,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8232,\n            end: 8233,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 8233,\n            end: 8234,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8234,\n            end: 8235,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"t\",\n            start: 8235,\n            end: 8236,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8236,\n            end: 8237,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8237,\n            end: 8238,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8238,\n            end: 8239,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8239,\n            end: 8240,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"t\",\n            start: 8240,\n            end: 8241,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8241,\n            end: 8243,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8243,\n            end: 8245,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Partial functions\",\n            start: 8245,\n            end: 8265,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8265,\n            end: 8267,\n        },\n        TokenData {\n            kind: \"Partial\",\n            text: \"partial\",\n            start: 8267,\n            end: 8274,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8274,\n            end: 8275,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 8275,\n            end: 8278,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8278,\n            end: 8279,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"collatz\",\n            start: 8279,\n            end: 8286,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8286,\n            end: 8287,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8287,\n            end: 8288,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8288,\n            end: 8289,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 8289,\n            end: 8292,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8292,\n            end: 8293,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 8293,\n            end: 8296,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8296,\n            end: 8297,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 8297,\n            end: 8300,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8300,\n            end: 8302,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8302,\n            end: 8306,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8306,\n            end: 8307,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8307,\n            end: 8308,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 8308,\n            end: 8309,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8309,\n            end: 8310,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8310,\n            end: 8311,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8311,\n            end: 8312,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8312,\n            end: 8313,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 8313,\n            end: 8314,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8314,\n            end: 8316,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8316,\n            end: 8320,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8320,\n            end: 8321,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8321,\n            end: 8322,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8322,\n            end: 8323,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8323,\n            end: 8324,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8324,\n            end: 8325,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8325,\n            end: 8326,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8326,\n            end: 8327,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 8327,\n            end: 8329,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8329,\n            end: 8330,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8330,\n            end: 8331,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8331,\n            end: 8332,\n        },\n        TokenData {\n            kind: \"Percent\",\n            text: \"%\",\n            start: 8332,\n            end: 8333,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8333,\n            end: 8334,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"2\",\n            start: 8334,\n            end: 8335,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8335,\n            end: 8336,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8336,\n            end: 8337,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8337,\n            end: 8338,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 8338,\n            end: 8339,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8339,\n            end: 8340,\n        },\n        TokenData {\n            kind: \"Then\",\n            text: \"then\",\n            start: 8340,\n            end: 8344,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8344,\n            end: 8345,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"collatz\",\n            start: 8345,\n            end: 8352,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8352,\n            end: 8353,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8353,\n            end: 8354,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8354,\n            end: 8355,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8355,\n            end: 8356,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 8356,\n            end: 8357,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8357,\n            end: 8358,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"2\",\n            start: 8358,\n            end: 8359,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8359,\n            end: 8360,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8360,\n            end: 8361,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 8361,\n            end: 8365,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8365,\n            end: 8366,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"collatz\",\n            start: 8366,\n            end: 8373,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8373,\n            end: 8374,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8374,\n            end: 8375,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"3\",\n            start: 8375,\n            end: 8376,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8376,\n            end: 8377,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 8377,\n            end: 8378,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8378,\n            end: 8379,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8379,\n            end: 8380,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8380,\n            end: 8381,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 8381,\n            end: 8382,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8382,\n            end: 8383,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 8383,\n            end: 8384,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8384,\n            end: 8385,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8385,\n            end: 8387,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8387,\n            end: 8389,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Well-founded recursion\",\n            start: 8389,\n            end: 8414,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8414,\n            end: 8416,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 8416,\n            end: 8419,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8419,\n            end: 8420,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ackermann\",\n            start: 8420,\n            end: 8429,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8429,\n            end: 8430,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8430,\n            end: 8431,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8431,\n            end: 8432,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 8432,\n            end: 8435,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8435,\n            end: 8436,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 8436,\n            end: 8439,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8439,\n            end: 8440,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 8440,\n            end: 8443,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8443,\n            end: 8444,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 8444,\n            end: 8447,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8447,\n            end: 8448,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 8448,\n            end: 8451,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8451,\n            end: 8452,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8452,\n            end: 8453,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8453,\n            end: 8454,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8454,\n            end: 8455,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 8455,\n            end: 8458,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8458,\n            end: 8459,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8459,\n            end: 8460,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8460,\n            end: 8461,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8461,\n            end: 8462,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8462,\n            end: 8463,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8463,\n            end: 8464,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8464,\n            end: 8465,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8465,\n            end: 8467,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8467,\n            end: 8471,\n        },\n        TokenData {\n            kind: \"Match\",\n            text: \"match\",\n            start: 8471,\n            end: 8476,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8476,\n            end: 8477,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8477,\n            end: 8478,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8478,\n            end: 8479,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 8479,\n            end: 8483,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8483,\n            end: 8485,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8485,\n            end: 8489,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8489,\n            end: 8490,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8490,\n            end: 8491,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 8491,\n            end: 8492,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8492,\n            end: 8493,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8493,\n            end: 8494,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8494,\n            end: 8495,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8495,\n            end: 8496,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8496,\n            end: 8497,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8497,\n            end: 8498,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 8498,\n            end: 8499,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8499,\n            end: 8500,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 8500,\n            end: 8501,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8501,\n            end: 8503,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8503,\n            end: 8507,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8507,\n            end: 8508,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8508,\n            end: 8509,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8509,\n            end: 8510,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8510,\n            end: 8511,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 8511,\n            end: 8512,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8512,\n            end: 8513,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 8513,\n            end: 8514,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8514,\n            end: 8515,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8515,\n            end: 8516,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8516,\n            end: 8517,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8517,\n            end: 8518,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8518,\n            end: 8520,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 8520,\n            end: 8528,\n        },\n        TokenData {\n            kind: \"Match\",\n            text: \"match\",\n            start: 8528,\n            end: 8533,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8533,\n            end: 8534,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8534,\n            end: 8535,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8535,\n            end: 8536,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 8536,\n            end: 8540,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8540,\n            end: 8542,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 8542,\n            end: 8550,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8550,\n            end: 8551,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8551,\n            end: 8552,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 8552,\n            end: 8553,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8553,\n            end: 8554,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8554,\n            end: 8555,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8555,\n            end: 8556,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8556,\n            end: 8557,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ackermann\",\n            start: 8557,\n            end: 8566,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8566,\n            end: 8567,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8567,\n            end: 8568,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8568,\n            end: 8569,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 8569,\n            end: 8570,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8570,\n            end: 8572,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 8572,\n            end: 8580,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8580,\n            end: 8581,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8581,\n            end: 8582,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8582,\n            end: 8583,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8583,\n            end: 8584,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 8584,\n            end: 8585,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8585,\n            end: 8586,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 8586,\n            end: 8587,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8587,\n            end: 8588,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8588,\n            end: 8589,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8589,\n            end: 8590,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8590,\n            end: 8591,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ackermann\",\n            start: 8591,\n            end: 8600,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8600,\n            end: 8601,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8601,\n            end: 8602,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8602,\n            end: 8603,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8603,\n            end: 8604,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ackermann\",\n            start: 8604,\n            end: 8613,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8613,\n            end: 8614,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8614,\n            end: 8615,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8615,\n            end: 8616,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8616,\n            end: 8617,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 8617,\n            end: 8618,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8618,\n            end: 8619,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 8619,\n            end: 8620,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8620,\n            end: 8621,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8621,\n            end: 8622,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8622,\n            end: 8623,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8623,\n            end: 8624,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8624,\n            end: 8626,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8626,\n            end: 8628,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Termination proofs\",\n            start: 8628,\n            end: 8649,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8649,\n            end: 8651,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 8651,\n            end: 8654,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8654,\n            end: 8655,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"gcd\",\n            start: 8655,\n            end: 8658,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8658,\n            end: 8659,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8659,\n            end: 8660,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8660,\n            end: 8661,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 8661,\n            end: 8664,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8664,\n            end: 8665,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 8665,\n            end: 8668,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8668,\n            end: 8669,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 8669,\n            end: 8672,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8672,\n            end: 8673,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 8673,\n            end: 8676,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8676,\n            end: 8677,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 8677,\n            end: 8680,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8680,\n            end: 8682,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8682,\n            end: 8686,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8686,\n            end: 8687,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8687,\n            end: 8688,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 8688,\n            end: 8689,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8689,\n            end: 8690,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8690,\n            end: 8691,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8691,\n            end: 8692,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8692,\n            end: 8693,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8693,\n            end: 8694,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8694,\n            end: 8695,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8695,\n            end: 8696,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8696,\n            end: 8697,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8697,\n            end: 8699,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8699,\n            end: 8703,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8703,\n            end: 8704,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8704,\n            end: 8705,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8705,\n            end: 8706,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8706,\n            end: 8707,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8707,\n            end: 8708,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 8708,\n            end: 8709,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8709,\n            end: 8710,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8710,\n            end: 8711,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8711,\n            end: 8712,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8712,\n            end: 8713,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8713,\n            end: 8714,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8714,\n            end: 8716,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 8716,\n            end: 8720,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8720,\n            end: 8721,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8721,\n            end: 8722,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8722,\n            end: 8723,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8723,\n            end: 8724,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8724,\n            end: 8725,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8725,\n            end: 8726,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8726,\n            end: 8727,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8727,\n            end: 8728,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8728,\n            end: 8729,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8729,\n            end: 8730,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 8730,\n            end: 8732,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8732,\n            end: 8733,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8733,\n            end: 8734,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8734,\n            end: 8735,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"≤\",\n            start: 8735,\n            end: 8738,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8738,\n            end: 8739,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8739,\n            end: 8740,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8740,\n            end: 8741,\n        },\n        TokenData {\n            kind: \"Then\",\n            text: \"then\",\n            start: 8741,\n            end: 8745,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8745,\n            end: 8746,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"gcd\",\n            start: 8746,\n            end: 8749,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8749,\n            end: 8750,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8750,\n            end: 8751,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8751,\n            end: 8752,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8752,\n            end: 8753,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8753,\n            end: 8754,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8754,\n            end: 8755,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"-\",\n            start: 8755,\n            end: 8756,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8756,\n            end: 8757,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8757,\n            end: 8758,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8758,\n            end: 8759,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8759,\n            end: 8760,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 8760,\n            end: 8764,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8764,\n            end: 8765,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"gcd\",\n            start: 8765,\n            end: 8768,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8768,\n            end: 8769,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8769,\n            end: 8770,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8770,\n            end: 8771,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8771,\n            end: 8772,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"-\",\n            start: 8772,\n            end: 8773,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8773,\n            end: 8774,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8774,\n            end: 8775,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8775,\n            end: 8776,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8776,\n            end: 8777,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8777,\n            end: 8778,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8778,\n            end: 8780,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"termination_by\",\n            start: 8780,\n            end: 8794,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8794,\n            end: 8795,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"gcd\",\n            start: 8795,\n            end: 8798,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8798,\n            end: 8799,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8799,\n            end: 8800,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8800,\n            end: 8801,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8801,\n            end: 8802,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8802,\n            end: 8803,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8803,\n            end: 8804,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8804,\n            end: 8805,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8805,\n            end: 8806,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 8806,\n            end: 8807,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8807,\n            end: 8808,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 8808,\n            end: 8809,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8809,\n            end: 8810,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 8810,\n            end: 8811,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8811,\n            end: 8813,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8813,\n            end: 8815,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Macro definitions\",\n            start: 8815,\n            end: 8835,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8835,\n            end: 8837,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"macro\",\n            start: 8837,\n            end: 8842,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8842,\n            end: 8843,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"my_simp\\\"\",\n            start: 8843,\n            end: 8852,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8852,\n            end: 8853,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8853,\n            end: 8854,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8854,\n            end: 8855,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"tactic\",\n            start: 8855,\n            end: 8861,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8861,\n            end: 8862,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8862,\n            end: 8863,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8863,\n            end: 8864,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8864,\n            end: 8865,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"`\",\n            start: 8865,\n            end: 8866,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8866,\n            end: 8867,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"tactic\",\n            start: 8867,\n            end: 8873,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8873,\n            end: 8874,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8874,\n            end: 8875,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp_all\",\n            start: 8875,\n            end: 8883,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8883,\n            end: 8884,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8884,\n            end: 8886,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8886,\n            end: 8888,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"macro\",\n            start: 8888,\n            end: 8893,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8893,\n            end: 8894,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"my_intro\\\"\",\n            start: 8894,\n            end: 8904,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8904,\n            end: 8905,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8905,\n            end: 8906,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8906,\n            end: 8907,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"tactic\",\n            start: 8907,\n            end: 8913,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8913,\n            end: 8914,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8914,\n            end: 8915,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8915,\n            end: 8916,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8916,\n            end: 8917,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"`\",\n            start: 8917,\n            end: 8918,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8918,\n            end: 8919,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"tactic\",\n            start: 8919,\n            end: 8925,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 8925,\n            end: 8926,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8926,\n            end: 8927,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 8927,\n            end: 8932,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8932,\n            end: 8933,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8933,\n            end: 8935,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8935,\n            end: 8937,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Notation declarations\",\n            start: 8937,\n            end: 8961,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8961,\n            end: 8963,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"notation\",\n            start: 8963,\n            end: 8971,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 8971,\n            end: 8972,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"65\",\n            start: 8972,\n            end: 8974,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8974,\n            end: 8975,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 8975,\n            end: 8976,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8976,\n            end: 8977,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\" ⊕ \\\"\",\n            start: 8977,\n            end: 8984,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8984,\n            end: 8985,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 8985,\n            end: 8986,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8986,\n            end: 8987,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 8987,\n            end: 8988,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 8988,\n            end: 8989,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8989,\n            end: 8990,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Xor\",\n            start: 8990,\n            end: 8993,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8993,\n            end: 8994,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 8994,\n            end: 8995,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8995,\n            end: 8996,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 8996,\n            end: 8997,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8997,\n            end: 8999,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8999,\n            end: 9001,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"infixl\",\n            start: 9001,\n            end: 9007,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9007,\n            end: 9008,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"70\",\n            start: 9008,\n            end: 9010,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9010,\n            end: 9011,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\" ⊗ \\\"\",\n            start: 9011,\n            end: 9018,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9018,\n            end: 9019,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9019,\n            end: 9020,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 9020,\n            end: 9021,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9021,\n            end: 9022,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 9022,\n            end: 9025,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9025,\n            end: 9026,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9026,\n            end: 9027,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9027,\n            end: 9028,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9028,\n            end: 9029,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9029,\n            end: 9030,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9030,\n            end: 9031,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 9031,\n            end: 9032,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9032,\n            end: 9033,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9033,\n            end: 9034,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9034,\n            end: 9035,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9035,\n            end: 9036,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9036,\n            end: 9037,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9037,\n            end: 9038,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9038,\n            end: 9039,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9039,\n            end: 9041,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9041,\n            end: 9043,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"prefix\",\n            start: 9043,\n            end: 9049,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9049,\n            end: 9050,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"75\",\n            start: 9050,\n            end: 9052,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9052,\n            end: 9053,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"¬\\\"\",\n            start: 9053,\n            end: 9057,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9057,\n            end: 9058,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9058,\n            end: 9059,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 9059,\n            end: 9060,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9060,\n            end: 9061,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Not\",\n            start: 9061,\n            end: 9064,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9064,\n            end: 9066,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9066,\n            end: 9068,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"postfix\",\n            start: 9068,\n            end: 9075,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9075,\n            end: 9076,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"80\",\n            start: 9076,\n            end: 9078,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9078,\n            end: 9079,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"!\\\"\",\n            start: 9079,\n            end: 9082,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9082,\n            end: 9083,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9083,\n            end: 9084,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 9084,\n            end: 9085,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9085,\n            end: 9086,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"factorial\",\n            start: 9086,\n            end: 9095,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9095,\n            end: 9097,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9097,\n            end: 9099,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Attribute declarations\",\n            start: 9099,\n            end: 9124,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9124,\n            end: 9126,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@\",\n            start: 9126,\n            end: 9127,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 9127,\n            end: 9128,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"inline\",\n            start: 9128,\n            end: 9134,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 9134,\n            end: 9135,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9135,\n            end: 9137,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 9137,\n            end: 9140,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9140,\n            end: 9141,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fastAdd\",\n            start: 9141,\n            end: 9148,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9148,\n            end: 9149,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9149,\n            end: 9150,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9150,\n            end: 9151,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9151,\n            end: 9152,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9152,\n            end: 9153,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9153,\n            end: 9154,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9154,\n            end: 9155,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9155,\n            end: 9156,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 9156,\n            end: 9159,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9159,\n            end: 9160,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9160,\n            end: 9161,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9161,\n            end: 9162,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9162,\n            end: 9163,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 9163,\n            end: 9166,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9166,\n            end: 9167,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9167,\n            end: 9168,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9168,\n            end: 9169,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9169,\n            end: 9170,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9170,\n            end: 9171,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9171,\n            end: 9172,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 9172,\n            end: 9173,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9173,\n            end: 9174,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9174,\n            end: 9175,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9175,\n            end: 9177,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9177,\n            end: 9179,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@\",\n            start: 9179,\n            end: 9180,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 9180,\n            end: 9181,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 9181,\n            end: 9185,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9185,\n            end: 9186,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9186,\n            end: 9187,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"norm_cast\",\n            start: 9187,\n            end: 9196,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 9196,\n            end: 9197,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9197,\n            end: 9199,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 9199,\n            end: 9206,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9206,\n            end: 9207,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cast_add\",\n            start: 9207,\n            end: 9215,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9215,\n            end: 9216,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9216,\n            end: 9217,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9217,\n            end: 9218,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9218,\n            end: 9219,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9219,\n            end: 9220,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9220,\n            end: 9221,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9221,\n            end: 9222,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9222,\n            end: 9223,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 9223,\n            end: 9226,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9226,\n            end: 9227,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9227,\n            end: 9228,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9228,\n            end: 9229,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9229,\n            end: 9230,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"↑\",\n            start: 9230,\n            end: 9233,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9233,\n            end: 9234,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9234,\n            end: 9235,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9235,\n            end: 9236,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 9236,\n            end: 9237,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9237,\n            end: 9238,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9238,\n            end: 9239,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9239,\n            end: 9240,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9240,\n            end: 9241,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9241,\n            end: 9242,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9242,\n            end: 9243,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9243,\n            end: 9244,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"↑\",\n            start: 9244,\n            end: 9247,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9247,\n            end: 9248,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9248,\n            end: 9249,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9249,\n            end: 9250,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9250,\n            end: 9251,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℤ\",\n            start: 9251,\n            end: 9254,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9254,\n            end: 9255,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9255,\n            end: 9256,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 9256,\n            end: 9257,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9257,\n            end: 9258,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"↑\",\n            start: 9258,\n            end: 9261,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9261,\n            end: 9262,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9262,\n            end: 9263,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9263,\n            end: 9264,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9264,\n            end: 9265,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9265,\n            end: 9266,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 9266,\n            end: 9268,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9268,\n            end: 9270,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 9270,\n            end: 9274,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rfl\",\n            start: 9274,\n            end: 9277,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9277,\n            end: 9279,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9279,\n            end: 9281,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Section with variables\",\n            start: 9281,\n            end: 9306,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9306,\n            end: 9308,\n        },\n        TokenData {\n            kind: \"Section\",\n            text: \"section\",\n            start: 9308,\n            end: 9315,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9315,\n            end: 9316,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"GroupTheory\",\n            start: 9316,\n            end: 9327,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9327,\n            end: 9329,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9329,\n            end: 9331,\n        },\n        TokenData {\n            kind: \"Variable\",\n            text: \"variable\",\n            start: 9331,\n            end: 9339,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9339,\n            end: 9340,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 9340,\n            end: 9341,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"G\",\n            start: 9341,\n            end: 9342,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9342,\n            end: 9343,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9343,\n            end: 9344,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9344,\n            end: 9345,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 9345,\n            end: 9349,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 9349,\n            end: 9350,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 9350,\n            end: 9351,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9351,\n            end: 9352,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 9352,\n            end: 9353,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Group\",\n            start: 9353,\n            end: 9358,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9358,\n            end: 9359,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"G\",\n            start: 9359,\n            end: 9360,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 9360,\n            end: 9361,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9361,\n            end: 9363,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9363,\n            end: 9365,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 9365,\n            end: 9372,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9372,\n            end: 9373,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"inv_inv\",\n            start: 9373,\n            end: 9380,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9380,\n            end: 9381,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9381,\n            end: 9382,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9382,\n            end: 9383,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9383,\n            end: 9384,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9384,\n            end: 9385,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9385,\n            end: 9386,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"G\",\n            start: 9386,\n            end: 9387,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9387,\n            end: 9388,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9388,\n            end: 9389,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9389,\n            end: 9390,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9390,\n            end: 9391,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9391,\n            end: 9392,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9392,\n            end: 9393,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⁻\",\n            start: 9393,\n            end: 9396,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"¹\",\n            start: 9396,\n            end: 9398,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9398,\n            end: 9399,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⁻\",\n            start: 9399,\n            end: 9402,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"¹\",\n            start: 9402,\n            end: 9404,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9404,\n            end: 9405,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9405,\n            end: 9406,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9406,\n            end: 9407,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9407,\n            end: 9408,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9408,\n            end: 9409,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9409,\n            end: 9410,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9410,\n            end: 9411,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9411,\n            end: 9412,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 9412,\n            end: 9414,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9414,\n            end: 9416,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 9416,\n            end: 9420,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"apply\",\n            start: 9420,\n            end: 9425,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9425,\n            end: 9426,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Group\",\n            start: 9426,\n            end: 9431,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 9431,\n            end: 9432,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"left_inv\",\n            start: 9432,\n            end: 9440,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9440,\n            end: 9442,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9442,\n            end: 9444,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 9444,\n            end: 9451,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9451,\n            end: 9452,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"inv_mul_cancel_left\",\n            start: 9452,\n            end: 9471,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9471,\n            end: 9472,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9472,\n            end: 9473,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9473,\n            end: 9474,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9474,\n            end: 9475,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9475,\n            end: 9476,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9476,\n            end: 9477,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9477,\n            end: 9478,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9478,\n            end: 9479,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"G\",\n            start: 9479,\n            end: 9480,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9480,\n            end: 9481,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9481,\n            end: 9482,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9482,\n            end: 9483,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9483,\n            end: 9484,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9484,\n            end: 9485,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⁻\",\n            start: 9485,\n            end: 9488,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"¹\",\n            start: 9488,\n            end: 9490,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9490,\n            end: 9491,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 9491,\n            end: 9492,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9492,\n            end: 9493,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9493,\n            end: 9494,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9494,\n            end: 9495,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9495,\n            end: 9496,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 9496,\n            end: 9497,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9497,\n            end: 9498,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9498,\n            end: 9499,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9499,\n            end: 9500,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9500,\n            end: 9501,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9501,\n            end: 9502,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9502,\n            end: 9503,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9503,\n            end: 9504,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9504,\n            end: 9505,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9505,\n            end: 9506,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9506,\n            end: 9507,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9507,\n            end: 9508,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 9508,\n            end: 9510,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9510,\n            end: 9512,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 9512,\n            end: 9516,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 9516,\n            end: 9518,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9518,\n            end: 9519,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 9519,\n            end: 9520,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"←\",\n            start: 9520,\n            end: 9523,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9523,\n            end: 9524,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Group\",\n            start: 9524,\n            end: 9529,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 9529,\n            end: 9530,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"assoc\",\n            start: 9530,\n            end: 9535,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9535,\n            end: 9536,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9536,\n            end: 9537,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Group\",\n            start: 9537,\n            end: 9542,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 9542,\n            end: 9543,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"left_inv\",\n            start: 9543,\n            end: 9551,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9551,\n            end: 9552,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9552,\n            end: 9553,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Group\",\n            start: 9553,\n            end: 9558,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 9558,\n            end: 9559,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"left_one\",\n            start: 9559,\n            end: 9567,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 9567,\n            end: 9568,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9568,\n            end: 9570,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9570,\n            end: 9572,\n        },\n        TokenData {\n            kind: \"End\",\n            text: \"end\",\n            start: 9572,\n            end: 9575,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9575,\n            end: 9576,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"GroupTheory\",\n            start: 9576,\n            end: 9587,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9587,\n            end: 9589,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9589,\n            end: 9591,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Namespace with definitions\",\n            start: 9591,\n            end: 9620,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9620,\n            end: 9622,\n        },\n        TokenData {\n            kind: \"Namespace\",\n            text: \"namespace\",\n            start: 9622,\n            end: 9631,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9631,\n            end: 9632,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"LinearAlgebra\",\n            start: 9632,\n            end: 9645,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9645,\n            end: 9647,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9647,\n            end: 9649,\n        },\n        TokenData {\n            kind: \"Variable\",\n            text: \"variable\",\n            start: 9649,\n            end: 9657,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9657,\n            end: 9658,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 9658,\n            end: 9659,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"K\",\n            start: 9659,\n            end: 9660,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9660,\n            end: 9661,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9661,\n            end: 9662,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9662,\n            end: 9663,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 9663,\n            end: 9667,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 9667,\n            end: 9668,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 9668,\n            end: 9669,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9669,\n            end: 9670,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 9670,\n            end: 9671,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Field\",\n            start: 9671,\n            end: 9676,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9676,\n            end: 9677,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"K\",\n            start: 9677,\n            end: 9678,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 9678,\n            end: 9679,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9679,\n            end: 9681,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9681,\n            end: 9683,\n        },\n        TokenData {\n            kind: \"Structure\",\n            text: \"structure\",\n            start: 9683,\n            end: 9692,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9692,\n            end: 9693,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"VectorSpace\",\n            start: 9693,\n            end: 9704,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9704,\n            end: 9705,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9705,\n            end: 9706,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"K\",\n            start: 9706,\n            end: 9707,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9707,\n            end: 9708,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9708,\n            end: 9709,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9709,\n            end: 9710,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 9710,\n            end: 9714,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 9714,\n            end: 9715,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9715,\n            end: 9716,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9716,\n            end: 9717,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 9717,\n            end: 9718,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Field\",\n            start: 9718,\n            end: 9723,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9723,\n            end: 9724,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"K\",\n            start: 9724,\n            end: 9725,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 9725,\n            end: 9726,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9726,\n            end: 9727,\n        },\n        TokenData {\n            kind: \"Where\",\n            text: \"where\",\n            start: 9727,\n            end: 9732,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9732,\n            end: 9734,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 9734,\n            end: 9738,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"carrier\",\n            start: 9738,\n            end: 9745,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9745,\n            end: 9746,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9746,\n            end: 9747,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9747,\n            end: 9748,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 9748,\n            end: 9752,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 9752,\n            end: 9753,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9753,\n            end: 9755,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 9755,\n            end: 9759,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add\",\n            start: 9759,\n            end: 9762,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9762,\n            end: 9763,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9763,\n            end: 9764,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9764,\n            end: 9765,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"carrier\",\n            start: 9765,\n            end: 9772,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9772,\n            end: 9773,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 9773,\n            end: 9776,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9776,\n            end: 9777,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"carrier\",\n            start: 9777,\n            end: 9784,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9784,\n            end: 9785,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 9785,\n            end: 9788,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9788,\n            end: 9789,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"carrier\",\n            start: 9789,\n            end: 9796,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9796,\n            end: 9798,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 9798,\n            end: 9802,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"smul\",\n            start: 9802,\n            end: 9806,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9806,\n            end: 9807,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9807,\n            end: 9808,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9808,\n            end: 9809,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"K\",\n            start: 9809,\n            end: 9810,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9810,\n            end: 9811,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 9811,\n            end: 9814,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9814,\n            end: 9815,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"carrier\",\n            start: 9815,\n            end: 9822,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9822,\n            end: 9823,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 9823,\n            end: 9826,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9826,\n            end: 9827,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"carrier\",\n            start: 9827,\n            end: 9834,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9834,\n            end: 9836,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 9836,\n            end: 9840,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 9840,\n            end: 9844,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9844,\n            end: 9845,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9845,\n            end: 9846,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9846,\n            end: 9847,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"carrier\",\n            start: 9847,\n            end: 9854,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9854,\n            end: 9856,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 9856,\n            end: 9860,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"neg\",\n            start: 9860,\n            end: 9863,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9863,\n            end: 9864,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9864,\n            end: 9865,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9865,\n            end: 9866,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"carrier\",\n            start: 9866,\n            end: 9873,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9873,\n            end: 9874,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 9874,\n            end: 9877,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9877,\n            end: 9878,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"carrier\",\n            start: 9878,\n            end: 9885,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9885,\n            end: 9887,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9887,\n            end: 9889,\n        },\n        TokenData {\n            kind: \"End\",\n            text: \"end\",\n            start: 9889,\n            end: 9892,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9892,\n            end: 9893,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"LinearAlgebra\",\n            start: 9893,\n            end: 9906,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9906,\n            end: 9908,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9908,\n            end: 9910,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Calc proofs\",\n            start: 9910,\n            end: 9924,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9924,\n            end: 9926,\n        },\n        TokenData {\n            kind: \"Example\",\n            text: \"example\",\n            start: 9926,\n            end: 9933,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9933,\n            end: 9934,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9934,\n            end: 9935,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9935,\n            end: 9936,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9936,\n            end: 9937,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9937,\n            end: 9938,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9938,\n            end: 9939,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 9939,\n            end: 9940,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9940,\n            end: 9941,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9941,\n            end: 9942,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9942,\n            end: 9943,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 9943,\n            end: 9946,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9946,\n            end: 9947,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9947,\n            end: 9948,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9948,\n            end: 9949,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9949,\n            end: 9950,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9950,\n            end: 9951,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9951,\n            end: 9952,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 9952,\n            end: 9953,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9953,\n            end: 9954,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9954,\n            end: 9955,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9955,\n            end: 9956,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 9956,\n            end: 9957,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9957,\n            end: 9958,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 9958,\n            end: 9959,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9959,\n            end: 9960,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9960,\n            end: 9961,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9961,\n            end: 9962,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 9962,\n            end: 9963,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9963,\n            end: 9964,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 9964,\n            end: 9965,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9965,\n            end: 9966,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9966,\n            end: 9967,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9967,\n            end: 9968,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 9968,\n            end: 9969,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9969,\n            end: 9970,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9970,\n            end: 9971,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9971,\n            end: 9972,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 9972,\n            end: 9973,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 9973,\n            end: 9974,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9974,\n            end: 9975,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 9975,\n            end: 9977,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9977,\n            end: 9979,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 9979,\n            end: 9983,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"calc\",\n            start: 9983,\n            end: 9987,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9987,\n            end: 9988,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 9988,\n            end: 9989,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9989,\n            end: 9990,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 9990,\n            end: 9991,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9991,\n            end: 9992,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 9992,\n            end: 9993,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9993,\n            end: 9994,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 9994,\n            end: 9995,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9995,\n            end: 9996,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 9996,\n            end: 9997,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9997,\n            end: 9998,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9998,\n            end: 10000,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10000,\n            end: 10008,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10008,\n            end: 10009,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10009,\n            end: 10010,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10010,\n            end: 10011,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10011,\n            end: 10012,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10012,\n            end: 10013,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10013,\n            end: 10014,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10014,\n            end: 10015,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10015,\n            end: 10016,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10016,\n            end: 10017,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10017,\n            end: 10018,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10018,\n            end: 10019,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10019,\n            end: 10020,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 10020,\n            end: 10021,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10021,\n            end: 10022,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10022,\n            end: 10023,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10023,\n            end: 10024,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10024,\n            end: 10025,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10025,\n            end: 10027,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10027,\n            end: 10028,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 10028,\n            end: 10030,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10030,\n            end: 10031,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 10031,\n            end: 10032,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 10032,\n            end: 10035,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 10035,\n            end: 10036,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_assoc\",\n            start: 10036,\n            end: 10045,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 10045,\n            end: 10046,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10046,\n            end: 10048,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10048,\n            end: 10056,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 10056,\n            end: 10057,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10057,\n            end: 10058,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10058,\n            end: 10059,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10059,\n            end: 10060,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10060,\n            end: 10061,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10061,\n            end: 10062,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10062,\n            end: 10063,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10063,\n            end: 10064,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10064,\n            end: 10065,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10065,\n            end: 10066,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10066,\n            end: 10067,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10067,\n            end: 10068,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10068,\n            end: 10069,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10069,\n            end: 10070,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 10070,\n            end: 10071,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10071,\n            end: 10072,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10072,\n            end: 10073,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10073,\n            end: 10074,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10074,\n            end: 10075,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10075,\n            end: 10077,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10077,\n            end: 10078,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 10078,\n            end: 10080,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10080,\n            end: 10081,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 10081,\n            end: 10082,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 10082,\n            end: 10085,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 10085,\n            end: 10086,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_comm\",\n            start: 10086,\n            end: 10094,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10094,\n            end: 10095,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10095,\n            end: 10096,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10096,\n            end: 10097,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10097,\n            end: 10098,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 10098,\n            end: 10099,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10099,\n            end: 10101,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10101,\n            end: 10109,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 10109,\n            end: 10110,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10110,\n            end: 10111,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10111,\n            end: 10112,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10112,\n            end: 10113,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10113,\n            end: 10114,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10114,\n            end: 10115,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10115,\n            end: 10116,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10116,\n            end: 10117,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10117,\n            end: 10118,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10118,\n            end: 10119,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10119,\n            end: 10120,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10120,\n            end: 10121,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 10121,\n            end: 10122,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10122,\n            end: 10123,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10123,\n            end: 10124,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10124,\n            end: 10125,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10125,\n            end: 10126,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10126,\n            end: 10128,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10128,\n            end: 10129,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 10129,\n            end: 10131,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10131,\n            end: 10132,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 10132,\n            end: 10133,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"←\",\n            start: 10133,\n            end: 10136,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10136,\n            end: 10137,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 10137,\n            end: 10140,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 10140,\n            end: 10141,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_assoc\",\n            start: 10141,\n            end: 10150,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 10150,\n            end: 10151,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10151,\n            end: 10153,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10153,\n            end: 10161,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 10161,\n            end: 10162,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10162,\n            end: 10163,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10163,\n            end: 10164,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10164,\n            end: 10165,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10165,\n            end: 10166,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10166,\n            end: 10167,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10167,\n            end: 10168,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10168,\n            end: 10169,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10169,\n            end: 10170,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10170,\n            end: 10171,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10171,\n            end: 10172,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10172,\n            end: 10173,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10173,\n            end: 10174,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 10174,\n            end: 10175,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10175,\n            end: 10176,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10176,\n            end: 10177,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10177,\n            end: 10178,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10178,\n            end: 10179,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10179,\n            end: 10180,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10180,\n            end: 10182,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10182,\n            end: 10183,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 10183,\n            end: 10185,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10185,\n            end: 10186,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 10186,\n            end: 10187,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 10187,\n            end: 10190,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 10190,\n            end: 10191,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_assoc\",\n            start: 10191,\n            end: 10200,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 10200,\n            end: 10201,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10201,\n            end: 10203,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10203,\n            end: 10211,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 10211,\n            end: 10212,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10212,\n            end: 10213,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10213,\n            end: 10214,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10214,\n            end: 10215,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10215,\n            end: 10216,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10216,\n            end: 10217,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10217,\n            end: 10218,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10218,\n            end: 10219,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10219,\n            end: 10220,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 10220,\n            end: 10221,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10221,\n            end: 10222,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10222,\n            end: 10223,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10223,\n            end: 10224,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10224,\n            end: 10225,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10225,\n            end: 10226,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10226,\n            end: 10227,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10227,\n            end: 10228,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10228,\n            end: 10229,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10229,\n            end: 10230,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10230,\n            end: 10232,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10232,\n            end: 10233,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 10233,\n            end: 10235,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10235,\n            end: 10236,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 10236,\n            end: 10237,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 10237,\n            end: 10240,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 10240,\n            end: 10241,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_comm\",\n            start: 10241,\n            end: 10249,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10249,\n            end: 10250,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10250,\n            end: 10251,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10251,\n            end: 10252,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 10252,\n            end: 10253,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 10253,\n            end: 10254,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10254,\n            end: 10256,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10256,\n            end: 10264,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 10264,\n            end: 10265,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10265,\n            end: 10266,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10266,\n            end: 10267,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10267,\n            end: 10268,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10268,\n            end: 10269,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10269,\n            end: 10270,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10270,\n            end: 10271,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10271,\n            end: 10272,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10272,\n            end: 10273,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 10273,\n            end: 10274,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10274,\n            end: 10275,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10275,\n            end: 10276,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10276,\n            end: 10277,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10277,\n            end: 10278,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10278,\n            end: 10279,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10279,\n            end: 10280,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10280,\n            end: 10281,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10281,\n            end: 10282,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10282,\n            end: 10283,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10283,\n            end: 10285,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10285,\n            end: 10286,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 10286,\n            end: 10288,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10288,\n            end: 10289,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 10289,\n            end: 10290,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"←\",\n            start: 10290,\n            end: 10293,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10293,\n            end: 10294,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 10294,\n            end: 10297,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 10297,\n            end: 10298,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_assoc\",\n            start: 10298,\n            end: 10307,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 10307,\n            end: 10308,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10308,\n            end: 10310,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10310,\n            end: 10318,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 10318,\n            end: 10319,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10319,\n            end: 10320,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10320,\n            end: 10321,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10321,\n            end: 10322,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10322,\n            end: 10323,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 10323,\n            end: 10324,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10324,\n            end: 10325,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10325,\n            end: 10326,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10326,\n            end: 10327,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10327,\n            end: 10328,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10328,\n            end: 10329,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10329,\n            end: 10330,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10330,\n            end: 10331,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10331,\n            end: 10332,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10332,\n            end: 10333,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10333,\n            end: 10334,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10334,\n            end: 10335,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10335,\n            end: 10336,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10336,\n            end: 10337,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10337,\n            end: 10339,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10339,\n            end: 10340,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 10340,\n            end: 10342,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10342,\n            end: 10343,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 10343,\n            end: 10344,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 10344,\n            end: 10347,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 10347,\n            end: 10348,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_comm\",\n            start: 10348,\n            end: 10356,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10356,\n            end: 10357,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10357,\n            end: 10358,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10358,\n            end: 10359,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 10359,\n            end: 10360,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 10360,\n            end: 10361,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10361,\n            end: 10363,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10363,\n            end: 10371,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 10371,\n            end: 10372,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10372,\n            end: 10373,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10373,\n            end: 10374,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10374,\n            end: 10375,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"c\",\n            start: 10375,\n            end: 10376,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10376,\n            end: 10377,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10377,\n            end: 10378,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10378,\n            end: 10379,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10379,\n            end: 10380,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10380,\n            end: 10381,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10381,\n            end: 10382,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10382,\n            end: 10383,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10383,\n            end: 10384,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10384,\n            end: 10385,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10385,\n            end: 10386,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10386,\n            end: 10387,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10387,\n            end: 10388,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10388,\n            end: 10390,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10390,\n            end: 10391,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"rw\",\n            start: 10391,\n            end: 10393,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10393,\n            end: 10394,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 10394,\n            end: 10395,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 10395,\n            end: 10398,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 10398,\n            end: 10399,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add_assoc\",\n            start: 10399,\n            end: 10408,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 10408,\n            end: 10409,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10409,\n            end: 10411,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10411,\n            end: 10413,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Have and suffices\",\n            start: 10413,\n            end: 10433,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10433,\n            end: 10435,\n        },\n        TokenData {\n            kind: \"Example\",\n            text: \"example\",\n            start: 10435,\n            end: 10442,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10442,\n            end: 10443,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10443,\n            end: 10444,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 10444,\n            end: 10445,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10445,\n            end: 10446,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10446,\n            end: 10447,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10447,\n            end: 10448,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 10448,\n            end: 10449,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10449,\n            end: 10450,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 10450,\n            end: 10453,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10453,\n            end: 10454,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"q\",\n            start: 10454,\n            end: 10455,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10455,\n            end: 10456,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10456,\n            end: 10457,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10457,\n            end: 10458,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10458,\n            end: 10459,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"¬\",\n            start: 10459,\n            end: 10461,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"q\",\n            start: 10461,\n            end: 10462,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10462,\n            end: 10463,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 10463,\n            end: 10466,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10466,\n            end: 10467,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"¬\",\n            start: 10467,\n            end: 10469,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 10469,\n            end: 10470,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10470,\n            end: 10471,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10471,\n            end: 10472,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10472,\n            end: 10473,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10473,\n            end: 10474,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10474,\n            end: 10476,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10476,\n            end: 10478,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 10478,\n            end: 10482,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 10482,\n            end: 10487,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10487,\n            end: 10488,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hnq\",\n            start: 10488,\n            end: 10491,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10491,\n            end: 10492,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hp\",\n            start: 10492,\n            end: 10494,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10494,\n            end: 10496,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 10496,\n            end: 10500,\n        },\n        TokenData {\n            kind: \"Have\",\n            text: \"have\",\n            start: 10500,\n            end: 10504,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10504,\n            end: 10505,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hq\",\n            start: 10505,\n            end: 10507,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10507,\n            end: 10508,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10508,\n            end: 10509,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10509,\n            end: 10510,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"q\",\n            start: 10510,\n            end: 10511,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10511,\n            end: 10512,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10512,\n            end: 10513,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10513,\n            end: 10514,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10514,\n            end: 10515,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 10515,\n            end: 10516,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10516,\n            end: 10517,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hp\",\n            start: 10517,\n            end: 10519,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10519,\n            end: 10521,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 10521,\n            end: 10525,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 10525,\n            end: 10530,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10530,\n            end: 10531,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hnq\",\n            start: 10531,\n            end: 10534,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10534,\n            end: 10535,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hq\",\n            start: 10535,\n            end: 10537,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10537,\n            end: 10539,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10539,\n            end: 10541,\n        },\n        TokenData {\n            kind: \"Example\",\n            text: \"example\",\n            start: 10541,\n            end: 10548,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10548,\n            end: 10549,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10549,\n            end: 10550,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 10550,\n            end: 10551,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10551,\n            end: 10552,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10552,\n            end: 10553,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10553,\n            end: 10554,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 10554,\n            end: 10555,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10555,\n            end: 10556,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"↔\",\n            start: 10556,\n            end: 10559,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10559,\n            end: 10560,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"q\",\n            start: 10560,\n            end: 10561,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10561,\n            end: 10562,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10562,\n            end: 10563,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10563,\n            end: 10564,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10564,\n            end: 10565,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"q\",\n            start: 10565,\n            end: 10566,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10566,\n            end: 10567,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"↔\",\n            start: 10567,\n            end: 10570,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10570,\n            end: 10571,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 10571,\n            end: 10572,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10572,\n            end: 10573,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10573,\n            end: 10574,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10574,\n            end: 10575,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10575,\n            end: 10576,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10576,\n            end: 10578,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10578,\n            end: 10580,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 10580,\n            end: 10584,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"constructor\",\n            start: 10584,\n            end: 10595,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10595,\n            end: 10597,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 10597,\n            end: 10601,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 10601,\n            end: 10603,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10603,\n            end: 10604,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 10604,\n            end: 10609,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10609,\n            end: 10610,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hq\",\n            start: 10610,\n            end: 10612,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10612,\n            end: 10614,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10614,\n            end: 10622,\n        },\n        TokenData {\n            kind: \"Suffices\",\n            text: \"suffices\",\n            start: 10622,\n            end: 10630,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10630,\n            end: 10631,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hp\",\n            start: 10631,\n            end: 10633,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10633,\n            end: 10634,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10634,\n            end: 10635,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10635,\n            end: 10636,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"p\",\n            start: 10636,\n            end: 10637,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10637,\n            end: 10638,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 10638,\n            end: 10640,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10640,\n            end: 10641,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 10641,\n            end: 10646,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10646,\n            end: 10647,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hp\",\n            start: 10647,\n            end: 10649,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10649,\n            end: 10651,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10651,\n            end: 10659,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 10659,\n            end: 10664,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10664,\n            end: 10665,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 10665,\n            end: 10666,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 10666,\n            end: 10667,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mpr\",\n            start: 10667,\n            end: 10670,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10670,\n            end: 10671,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hq\",\n            start: 10671,\n            end: 10673,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10673,\n            end: 10675,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 10675,\n            end: 10679,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 10679,\n            end: 10681,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10681,\n            end: 10682,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 10682,\n            end: 10687,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10687,\n            end: 10688,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hp\",\n            start: 10688,\n            end: 10690,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10690,\n            end: 10692,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 10692,\n            end: 10700,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 10700,\n            end: 10705,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10705,\n            end: 10706,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 10706,\n            end: 10707,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 10707,\n            end: 10708,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mp\",\n            start: 10708,\n            end: 10710,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10710,\n            end: 10711,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hp\",\n            start: 10711,\n            end: 10713,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10713,\n            end: 10715,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10715,\n            end: 10717,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Match expressions\",\n            start: 10717,\n            end: 10737,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10737,\n            end: 10739,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 10739,\n            end: 10742,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10742,\n            end: 10743,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"listSum\",\n            start: 10743,\n            end: 10750,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10750,\n            end: 10751,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10751,\n            end: 10752,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10752,\n            end: 10753,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 10753,\n            end: 10757,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10757,\n            end: 10758,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 10758,\n            end: 10761,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10761,\n            end: 10762,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 10762,\n            end: 10765,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10765,\n            end: 10766,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 10766,\n            end: 10769,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10769,\n            end: 10770,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10770,\n            end: 10771,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10771,\n            end: 10772,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10772,\n            end: 10773,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 10773,\n            end: 10776,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10776,\n            end: 10777,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l\",\n            start: 10777,\n            end: 10778,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10778,\n            end: 10779,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10779,\n            end: 10780,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 10780,\n            end: 10781,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10781,\n            end: 10783,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 10783,\n            end: 10787,\n        },\n        TokenData {\n            kind: \"Match\",\n            text: \"match\",\n            start: 10787,\n            end: 10792,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10792,\n            end: 10793,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l\",\n            start: 10793,\n            end: 10794,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10794,\n            end: 10795,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 10795,\n            end: 10799,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10799,\n            end: 10801,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 10801,\n            end: 10805,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 10805,\n            end: 10806,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10806,\n            end: 10807,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 10807,\n            end: 10808,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 10808,\n            end: 10809,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10809,\n            end: 10810,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10810,\n            end: 10811,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 10811,\n            end: 10812,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10812,\n            end: 10813,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 10813,\n            end: 10814,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10814,\n            end: 10816,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 10816,\n            end: 10820,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 10820,\n            end: 10821,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10821,\n            end: 10822,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 10822,\n            end: 10823,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10823,\n            end: 10824,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10824,\n            end: 10825,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10825,\n            end: 10826,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10826,\n            end: 10827,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 10827,\n            end: 10829,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10829,\n            end: 10830,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10830,\n            end: 10831,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 10831,\n            end: 10832,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10832,\n            end: 10833,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 10833,\n            end: 10834,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10834,\n            end: 10835,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 10835,\n            end: 10836,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10836,\n            end: 10837,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"listSum\",\n            start: 10837,\n            end: 10844,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10844,\n            end: 10845,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"xs\",\n            start: 10845,\n            end: 10847,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10847,\n            end: 10849,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10849,\n            end: 10851,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- If-then-else expressions\",\n            start: 10851,\n            end: 10878,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10878,\n            end: 10880,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 10880,\n            end: 10883,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10883,\n            end: 10884,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"max\",\n            start: 10884,\n            end: 10887,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10887,\n            end: 10888,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10888,\n            end: 10889,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10889,\n            end: 10890,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10890,\n            end: 10891,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10891,\n            end: 10892,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10892,\n            end: 10893,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10893,\n            end: 10894,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10894,\n            end: 10895,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 10895,\n            end: 10898,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10898,\n            end: 10899,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10899,\n            end: 10900,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10900,\n            end: 10901,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10901,\n            end: 10902,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 10902,\n            end: 10905,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10905,\n            end: 10906,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10906,\n            end: 10907,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10907,\n            end: 10908,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10908,\n            end: 10909,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 10909,\n            end: 10911,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10911,\n            end: 10912,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10912,\n            end: 10913,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10913,\n            end: 10914,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"≤\",\n            start: 10914,\n            end: 10917,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10917,\n            end: 10918,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10918,\n            end: 10919,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10919,\n            end: 10920,\n        },\n        TokenData {\n            kind: \"Then\",\n            text: \"then\",\n            start: 10920,\n            end: 10924,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10924,\n            end: 10925,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10925,\n            end: 10926,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10926,\n            end: 10927,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 10927,\n            end: 10931,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10931,\n            end: 10932,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10932,\n            end: 10933,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10933,\n            end: 10935,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10935,\n            end: 10937,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 10937,\n            end: 10940,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10940,\n            end: 10941,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"min\",\n            start: 10941,\n            end: 10944,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10944,\n            end: 10945,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10945,\n            end: 10946,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10946,\n            end: 10947,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10947,\n            end: 10948,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10948,\n            end: 10949,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10949,\n            end: 10950,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10950,\n            end: 10951,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10951,\n            end: 10952,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 10952,\n            end: 10955,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10955,\n            end: 10956,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10956,\n            end: 10957,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10957,\n            end: 10958,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10958,\n            end: 10959,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 10959,\n            end: 10962,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10962,\n            end: 10963,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 10963,\n            end: 10964,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 10964,\n            end: 10965,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10965,\n            end: 10966,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 10966,\n            end: 10968,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10968,\n            end: 10969,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10969,\n            end: 10970,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10970,\n            end: 10971,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"≤\",\n            start: 10971,\n            end: 10974,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10974,\n            end: 10975,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10975,\n            end: 10976,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10976,\n            end: 10977,\n        },\n        TokenData {\n            kind: \"Then\",\n            text: \"then\",\n            start: 10977,\n            end: 10981,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10981,\n            end: 10982,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 10982,\n            end: 10983,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10983,\n            end: 10984,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 10984,\n            end: 10988,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10988,\n            end: 10989,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 10989,\n            end: 10990,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10990,\n            end: 10992,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10992,\n            end: 10994,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Let expressions\",\n            start: 10994,\n            end: 11012,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11012,\n            end: 11014,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 11014,\n            end: 11017,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11017,\n            end: 11018,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"complexComputation\",\n            start: 11018,\n            end: 11036,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11036,\n            end: 11037,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 11037,\n            end: 11038,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 11038,\n            end: 11039,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11039,\n            end: 11040,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11040,\n            end: 11041,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11041,\n            end: 11042,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11042,\n            end: 11045,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 11045,\n            end: 11046,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11046,\n            end: 11047,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11047,\n            end: 11048,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11048,\n            end: 11049,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11049,\n            end: 11052,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11052,\n            end: 11053,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11053,\n            end: 11054,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11054,\n            end: 11055,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11055,\n            end: 11057,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 11057,\n            end: 11061,\n        },\n        TokenData {\n            kind: \"Let\",\n            text: \"let\",\n            start: 11061,\n            end: 11064,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11064,\n            end: 11065,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 11065,\n            end: 11066,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11066,\n            end: 11067,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11067,\n            end: 11068,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11068,\n            end: 11069,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11069,\n            end: 11070,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 11070,\n            end: 11071,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11071,\n            end: 11072,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 11072,\n            end: 11073,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11073,\n            end: 11074,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"2\",\n            start: 11074,\n            end: 11075,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11075,\n            end: 11077,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 11077,\n            end: 11081,\n        },\n        TokenData {\n            kind: \"Let\",\n            text: \"let\",\n            start: 11081,\n            end: 11084,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11084,\n            end: 11085,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 11085,\n            end: 11086,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11086,\n            end: 11087,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11087,\n            end: 11088,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11088,\n            end: 11089,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11089,\n            end: 11090,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 11090,\n            end: 11091,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11091,\n            end: 11092,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 11092,\n            end: 11093,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11093,\n            end: 11094,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 11094,\n            end: 11095,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11095,\n            end: 11097,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 11097,\n            end: 11101,\n        },\n        TokenData {\n            kind: \"Let\",\n            text: \"let\",\n            start: 11101,\n            end: 11104,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11104,\n            end: 11105,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"z\",\n            start: 11105,\n            end: 11106,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11106,\n            end: 11107,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11107,\n            end: 11108,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11108,\n            end: 11109,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11109,\n            end: 11110,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 11110,\n            end: 11111,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11111,\n            end: 11112,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 11112,\n            end: 11113,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11113,\n            end: 11114,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 11114,\n            end: 11115,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11115,\n            end: 11117,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 11117,\n            end: 11121,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"z\",\n            start: 11121,\n            end: 11122,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11122,\n            end: 11123,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 11123,\n            end: 11124,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11124,\n            end: 11125,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 11125,\n            end: 11126,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11126,\n            end: 11127,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 11127,\n            end: 11128,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11128,\n            end: 11129,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 11129,\n            end: 11130,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11130,\n            end: 11132,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11132,\n            end: 11134,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Do notation (for monads)\",\n            start: 11134,\n            end: 11161,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11161,\n            end: 11163,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 11163,\n            end: 11166,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11166,\n            end: 11167,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"optionExample\",\n            start: 11167,\n            end: 11180,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11180,\n            end: 11181,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11181,\n            end: 11182,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11182,\n            end: 11183,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Option\",\n            start: 11183,\n            end: 11189,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11189,\n            end: 11190,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11190,\n            end: 11193,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11193,\n            end: 11194,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11194,\n            end: 11195,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11195,\n            end: 11196,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11196,\n            end: 11197,\n        },\n        TokenData {\n            kind: \"Do\",\n            text: \"do\",\n            start: 11197,\n            end: 11199,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11199,\n            end: 11201,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 11201,\n            end: 11205,\n        },\n        TokenData {\n            kind: \"Let\",\n            text: \"let\",\n            start: 11205,\n            end: 11208,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11208,\n            end: 11209,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 11209,\n            end: 11210,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11210,\n            end: 11211,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"←\",\n            start: 11211,\n            end: 11214,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11214,\n            end: 11215,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"some\",\n            start: 11215,\n            end: 11219,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11219,\n            end: 11220,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"5\",\n            start: 11220,\n            end: 11221,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11221,\n            end: 11223,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 11223,\n            end: 11227,\n        },\n        TokenData {\n            kind: \"Let\",\n            text: \"let\",\n            start: 11227,\n            end: 11230,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11230,\n            end: 11231,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 11231,\n            end: 11232,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11232,\n            end: 11233,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"←\",\n            start: 11233,\n            end: 11236,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11236,\n            end: 11237,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"some\",\n            start: 11237,\n            end: 11241,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11241,\n            end: 11242,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"3\",\n            start: 11242,\n            end: 11243,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11243,\n            end: 11245,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 11245,\n            end: 11249,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 11249,\n            end: 11255,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11255,\n            end: 11256,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 11256,\n            end: 11257,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11257,\n            end: 11258,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 11258,\n            end: 11259,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11259,\n            end: 11260,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 11260,\n            end: 11261,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11261,\n            end: 11263,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11263,\n            end: 11265,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Array and list comprehensions\",\n            start: 11265,\n            end: 11297,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11297,\n            end: 11299,\n        },\n        TokenData {\n            kind: \"Hash\",\n            text: \"#\",\n            start: 11299,\n            end: 11300,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"eval\",\n            start: 11300,\n            end: 11304,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11304,\n            end: 11305,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 11305,\n            end: 11306,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 11306,\n            end: 11307,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11307,\n            end: 11308,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11308,\n            end: 11309,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"2\",\n            start: 11309,\n            end: 11310,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11310,\n            end: 11311,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11311,\n            end: 11312,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"3\",\n            start: 11312,\n            end: 11313,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11313,\n            end: 11314,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11314,\n            end: 11315,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"4\",\n            start: 11315,\n            end: 11316,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11316,\n            end: 11317,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11317,\n            end: 11318,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"5\",\n            start: 11318,\n            end: 11319,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 11319,\n            end: 11320,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 11320,\n            end: 11321,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 11321,\n            end: 11324,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11324,\n            end: 11325,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 11325,\n            end: 11326,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 11326,\n            end: 11328,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11328,\n            end: 11329,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 11329,\n            end: 11330,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11330,\n            end: 11331,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"2\",\n            start: 11331,\n            end: 11332,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 11332,\n            end: 11333,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11333,\n            end: 11335,\n        },\n        TokenData {\n            kind: \"Hash\",\n            text: \"#\",\n            start: 11335,\n            end: 11336,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"eval\",\n            start: 11336,\n            end: 11340,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11340,\n            end: 11341,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 11341,\n            end: 11342,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 11342,\n            end: 11343,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11343,\n            end: 11344,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11344,\n            end: 11345,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"2\",\n            start: 11345,\n            end: 11346,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11346,\n            end: 11347,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11347,\n            end: 11348,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"3\",\n            start: 11348,\n            end: 11349,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11349,\n            end: 11350,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11350,\n            end: 11351,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"4\",\n            start: 11351,\n            end: 11352,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11352,\n            end: 11353,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11353,\n            end: 11354,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"5\",\n            start: 11354,\n            end: 11355,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 11355,\n            end: 11356,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 11356,\n            end: 11357,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"filter\",\n            start: 11357,\n            end: 11363,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11363,\n            end: 11364,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 11364,\n            end: 11365,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 11365,\n            end: 11367,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11367,\n            end: 11368,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 11368,\n            end: 11369,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11369,\n            end: 11370,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"3\",\n            start: 11370,\n            end: 11371,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 11371,\n            end: 11372,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11372,\n            end: 11374,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11374,\n            end: 11376,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Type ascriptions\",\n            start: 11376,\n            end: 11395,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11395,\n            end: 11397,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 11397,\n            end: 11400,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11400,\n            end: 11401,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"typedExample\",\n            start: 11401,\n            end: 11413,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11413,\n            end: 11414,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11414,\n            end: 11415,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11415,\n            end: 11416,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11416,\n            end: 11419,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11419,\n            end: 11420,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 11420,\n            end: 11423,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11423,\n            end: 11424,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11424,\n            end: 11427,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11427,\n            end: 11428,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11428,\n            end: 11429,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11429,\n            end: 11430,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11430,\n            end: 11431,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 11431,\n            end: 11432,\n        },\n        TokenData {\n            kind: \"Fun\",\n            text: \"fun\",\n            start: 11432,\n            end: 11435,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11435,\n            end: 11436,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 11436,\n            end: 11437,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11437,\n            end: 11438,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11438,\n            end: 11439,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 11439,\n            end: 11440,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11440,\n            end: 11441,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 11441,\n            end: 11442,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11442,\n            end: 11443,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 11443,\n            end: 11444,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11444,\n            end: 11445,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 11445,\n            end: 11446,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11446,\n            end: 11447,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11447,\n            end: 11448,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11448,\n            end: 11449,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11449,\n            end: 11452,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11452,\n            end: 11453,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"→\",\n            start: 11453,\n            end: 11456,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11456,\n            end: 11457,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11457,\n            end: 11460,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 11460,\n            end: 11461,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11461,\n            end: 11463,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11463,\n            end: 11465,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Anonymous constructor syntax\",\n            start: 11465,\n            end: 11496,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11496,\n            end: 11498,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 11498,\n            end: 11501,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11501,\n            end: 11502,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"pointExample\",\n            start: 11502,\n            end: 11514,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11514,\n            end: 11515,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11515,\n            end: 11516,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11516,\n            end: 11517,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Point\",\n            start: 11517,\n            end: 11522,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11522,\n            end: 11523,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11523,\n            end: 11526,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11526,\n            end: 11527,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11527,\n            end: 11528,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11528,\n            end: 11529,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11529,\n            end: 11530,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟨\",\n            start: 11530,\n            end: 11533,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"3\",\n            start: 11533,\n            end: 11534,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11534,\n            end: 11535,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11535,\n            end: 11536,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"4\",\n            start: 11536,\n            end: 11537,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟩\",\n            start: 11537,\n            end: 11540,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11540,\n            end: 11542,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11542,\n            end: 11544,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Subtype syntax\",\n            start: 11544,\n            end: 11561,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11561,\n            end: 11563,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 11563,\n            end: 11566,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11566,\n            end: 11567,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"positiveNat\",\n            start: 11567,\n            end: 11578,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11578,\n            end: 11579,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11579,\n            end: 11580,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11580,\n            end: 11581,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 11581,\n            end: 11585,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11585,\n            end: 11586,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11586,\n            end: 11587,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11587,\n            end: 11588,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11588,\n            end: 11589,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 11589,\n            end: 11590,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 11590,\n            end: 11591,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11591,\n            end: 11592,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11592,\n            end: 11593,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11593,\n            end: 11594,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11594,\n            end: 11597,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11597,\n            end: 11598,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 11598,\n            end: 11599,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 11599,\n            end: 11600,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11600,\n            end: 11601,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 11601,\n            end: 11602,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11602,\n            end: 11603,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 11603,\n            end: 11604,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11604,\n            end: 11605,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 11605,\n            end: 11606,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 11606,\n            end: 11607,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11607,\n            end: 11609,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11609,\n            end: 11611,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Dependent pair syntax\",\n            start: 11611,\n            end: 11635,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11635,\n            end: 11637,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 11637,\n            end: 11640,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11640,\n            end: 11641,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"dependentPairExample\",\n            start: 11641,\n            end: 11661,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11661,\n            end: 11662,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11662,\n            end: 11663,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11663,\n            end: 11664,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Σ\",\n            start: 11664,\n            end: 11666,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11666,\n            end: 11667,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 11667,\n            end: 11668,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11668,\n            end: 11669,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11669,\n            end: 11670,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11670,\n            end: 11671,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11671,\n            end: 11674,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11674,\n            end: 11675,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11675,\n            end: 11676,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Vector\",\n            start: 11676,\n            end: 11682,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11682,\n            end: 11683,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11683,\n            end: 11686,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11686,\n            end: 11687,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 11687,\n            end: 11688,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11688,\n            end: 11689,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11689,\n            end: 11690,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11690,\n            end: 11691,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11691,\n            end: 11692,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟨\",\n            start: 11692,\n            end: 11695,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"3\",\n            start: 11695,\n            end: 11696,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11696,\n            end: 11697,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11697,\n            end: 11698,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sorry\",\n            start: 11698,\n            end: 11703,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟩\",\n            start: 11703,\n            end: 11706,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11706,\n            end: 11708,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11708,\n            end: 11710,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Placeholder and sorry\",\n            start: 11710,\n            end: 11734,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11734,\n            end: 11736,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 11736,\n            end: 11739,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11739,\n            end: 11740,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"incompleteProof\",\n            start: 11740,\n            end: 11755,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11755,\n            end: 11756,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11756,\n            end: 11757,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11757,\n            end: 11758,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∀\",\n            start: 11758,\n            end: 11761,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11761,\n            end: 11762,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 11762,\n            end: 11763,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11763,\n            end: 11764,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11764,\n            end: 11765,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11765,\n            end: 11766,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 11766,\n            end: 11769,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 11769,\n            end: 11770,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11770,\n            end: 11771,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 11771,\n            end: 11772,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11772,\n            end: 11773,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 11773,\n            end: 11774,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11774,\n            end: 11775,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 11775,\n            end: 11776,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11776,\n            end: 11777,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11777,\n            end: 11778,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11778,\n            end: 11779,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 11779,\n            end: 11780,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11780,\n            end: 11781,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 11781,\n            end: 11782,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 11782,\n            end: 11783,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11783,\n            end: 11784,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 11784,\n            end: 11786,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11786,\n            end: 11788,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 11788,\n            end: 11792,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 11792,\n            end: 11797,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11797,\n            end: 11798,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 11798,\n            end: 11799,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11799,\n            end: 11801,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 11801,\n            end: 11805,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sorry\",\n            start: 11805,\n            end: 11810,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11810,\n            end: 11812,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11812,\n            end: 11814,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Comments and documentation\",\n            start: 11814,\n            end: 11843,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11843,\n            end: 11845,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"/-- \\r\\nThis is a documentation comment for a function.\\r\\nIt can span multiple lines and use markdown.\\r\\n\\r\\n# Example\\r\\n```lean\\r\\nmyFunction 5 = 10\\r\\n```\\r\\n-/\",\n            start: 11845,\n            end: 11994,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11994,\n            end: 11996,\n        },\n        TokenData {\n            kind: \"Def\",\n            text: \"def\",\n            start: 11996,\n            end: 11999,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11999,\n            end: 12000,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"myFunction\",\n            start: 12000,\n            end: 12010,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12010,\n            end: 12011,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 12011,\n            end: 12012,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 12012,\n            end: 12013,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12013,\n            end: 12014,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 12014,\n            end: 12015,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12015,\n            end: 12016,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 12016,\n            end: 12019,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 12019,\n            end: 12020,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12020,\n            end: 12021,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 12021,\n            end: 12022,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12022,\n            end: 12023,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ℕ\",\n            start: 12023,\n            end: 12026,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12026,\n            end: 12027,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 12027,\n            end: 12028,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 12028,\n            end: 12029,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12029,\n            end: 12030,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"n\",\n            start: 12030,\n            end: 12031,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12031,\n            end: 12032,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 12032,\n            end: 12033,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12033,\n            end: 12034,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"2\",\n            start: 12034,\n            end: 12035,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12035,\n            end: 12037,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12037,\n            end: 12039,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Single line comment\",\n            start: 12039,\n            end: 12061,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12061,\n            end: 12063,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12063,\n            end: 12065,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"/-\\r\\nMulti-line comment\\r\\nthat can span\\r\\nseveral lines\\r\\n-/\",\n            start: 12065,\n            end: 12121,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12121,\n            end: 12123,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12123,\n            end: 12125,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"-- Final example combining multiple features\",\n            start: 12125,\n            end: 12169,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12169,\n            end: 12171,\n        },\n        TokenData {\n            kind: \"Theorem\",\n            text: \"theorem\",\n            start: 12171,\n            end: 12178,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12178,\n            end: 12179,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"comprehensive_example\",\n            start: 12179,\n            end: 12200,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12200,\n            end: 12201,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 12201,\n            end: 12202,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 12202,\n            end: 12204,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12204,\n            end: 12205,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 12205,\n            end: 12206,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12206,\n            end: 12207,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Type\",\n            start: 12207,\n            end: 12211,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 12211,\n            end: 12212,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 12212,\n            end: 12213,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12213,\n            end: 12214,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 12214,\n            end: 12215,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"DecidableEq\",\n            start: 12215,\n            end: 12226,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12226,\n            end: 12227,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 12227,\n            end: 12229,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 12229,\n            end: 12230,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12230,\n            end: 12231,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 12231,\n            end: 12232,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l\",\n            start: 12232,\n            end: 12233,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12233,\n            end: 12234,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 12234,\n            end: 12235,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12235,\n            end: 12236,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 12236,\n            end: 12240,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12240,\n            end: 12241,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 12241,\n            end: 12243,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 12243,\n            end: 12244,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12244,\n            end: 12245,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 12245,\n            end: 12246,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 12246,\n            end: 12247,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12247,\n            end: 12248,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 12248,\n            end: 12249,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12249,\n            end: 12250,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"α\",\n            start: 12250,\n            end: 12252,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 12252,\n            end: 12253,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12253,\n            end: 12254,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 12254,\n            end: 12255,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12255,\n            end: 12257,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 12257,\n            end: 12261,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 12261,\n            end: 12262,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12262,\n            end: 12263,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∈\",\n            start: 12263,\n            end: 12266,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12266,\n            end: 12267,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l\",\n            start: 12267,\n            end: 12268,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12268,\n            end: 12269,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"↔\",\n            start: 12269,\n            end: 12272,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12272,\n            end: 12273,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∃\",\n            start: 12273,\n            end: 12276,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12276,\n            end: 12277,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"i\",\n            start: 12277,\n            end: 12278,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 12278,\n            end: 12279,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12279,\n            end: 12280,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"i\",\n            start: 12280,\n            end: 12281,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12281,\n            end: 12282,\n        },\n        TokenData {\n            kind: \"Lt\",\n            text: \"<\",\n            start: 12282,\n            end: 12283,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12283,\n            end: 12284,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l\",\n            start: 12284,\n            end: 12285,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 12285,\n            end: 12286,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length\",\n            start: 12286,\n            end: 12292,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12292,\n            end: 12293,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"∧\",\n            start: 12293,\n            end: 12296,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12296,\n            end: 12297,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l\",\n            start: 12297,\n            end: 12298,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 12298,\n            end: 12299,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get\",\n            start: 12299,\n            end: 12302,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12302,\n            end: 12303,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟨\",\n            start: 12303,\n            end: 12306,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"i\",\n            start: 12306,\n            end: 12307,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 12307,\n            end: 12308,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12308,\n            end: 12309,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 12309,\n            end: 12311,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12311,\n            end: 12312,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"assumption\",\n            start: 12312,\n            end: 12322,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟩\",\n            start: 12322,\n            end: 12325,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12325,\n            end: 12326,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 12326,\n            end: 12327,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12327,\n            end: 12328,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 12328,\n            end: 12329,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12329,\n            end: 12330,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 12330,\n            end: 12331,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 12331,\n            end: 12332,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12332,\n            end: 12333,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"by\",\n            start: 12333,\n            end: 12335,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12335,\n            end: 12337,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 12337,\n            end: 12341,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"constructor\",\n            start: 12341,\n            end: 12352,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12352,\n            end: 12354,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 12354,\n            end: 12358,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 12358,\n            end: 12360,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12360,\n            end: 12361,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 12361,\n            end: 12366,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12366,\n            end: 12367,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 12367,\n            end: 12368,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12368,\n            end: 12370,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 12370,\n            end: 12378,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"induction\",\n            start: 12378,\n            end: 12387,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12387,\n            end: 12388,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l\",\n            start: 12388,\n            end: 12389,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12389,\n            end: 12390,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 12390,\n            end: 12394,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12394,\n            end: 12396,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 12396,\n            end: 12404,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 12404,\n            end: 12405,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12405,\n            end: 12406,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nil\",\n            start: 12406,\n            end: 12409,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12409,\n            end: 12410,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 12410,\n            end: 12411,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 12411,\n            end: 12412,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12412,\n            end: 12413,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12413,\n            end: 12415,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 12415,\n            end: 12427,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 12427,\n            end: 12431,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12431,\n            end: 12432,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"at\",\n            start: 12432,\n            end: 12434,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12434,\n            end: 12435,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 12435,\n            end: 12436,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12436,\n            end: 12438,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 12438,\n            end: 12446,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 12446,\n            end: 12447,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12447,\n            end: 12448,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cons\",\n            start: 12448,\n            end: 12452,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12452,\n            end: 12453,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 12453,\n            end: 12454,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12454,\n            end: 12455,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ys\",\n            start: 12455,\n            end: 12457,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12457,\n            end: 12458,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 12458,\n            end: 12460,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12460,\n            end: 12461,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 12461,\n            end: 12462,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 12462,\n            end: 12463,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12463,\n            end: 12465,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 12465,\n            end: 12477,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 12477,\n            end: 12481,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12481,\n            end: 12482,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 12482,\n            end: 12483,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 12483,\n            end: 12487,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 12487,\n            end: 12488,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mem_cons\",\n            start: 12488,\n            end: 12496,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 12496,\n            end: 12497,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12497,\n            end: 12498,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"at\",\n            start: 12498,\n            end: 12500,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12500,\n            end: 12501,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 12501,\n            end: 12502,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12502,\n            end: 12504,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 12504,\n            end: 12516,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cases\",\n            start: 12516,\n            end: 12521,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12521,\n            end: 12522,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 12522,\n            end: 12523,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12523,\n            end: 12524,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 12524,\n            end: 12528,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12528,\n            end: 12530,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 12530,\n            end: 12542,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 12542,\n            end: 12543,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12543,\n            end: 12544,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"inl\",\n            start: 12544,\n            end: 12547,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12547,\n            end: 12548,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 12548,\n            end: 12549,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12549,\n            end: 12550,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 12550,\n            end: 12551,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 12551,\n            end: 12552,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12552,\n            end: 12553,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12553,\n            end: 12555,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 12555,\n            end: 12571,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"use\",\n            start: 12571,\n            end: 12574,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12574,\n            end: 12575,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"0\",\n            start: 12575,\n            end: 12576,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12576,\n            end: 12578,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 12578,\n            end: 12594,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 12594,\n            end: 12598,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12598,\n            end: 12599,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 12599,\n            end: 12600,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 12600,\n            end: 12604,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 12604,\n            end: 12605,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get\",\n            start: 12605,\n            end: 12608,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 12608,\n            end: 12609,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12609,\n            end: 12610,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 12610,\n            end: 12611,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 12611,\n            end: 12612,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12612,\n            end: 12614,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 12614,\n            end: 12626,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 12626,\n            end: 12627,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12627,\n            end: 12628,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"inr\",\n            start: 12628,\n            end: 12631,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12631,\n            end: 12632,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 12632,\n            end: 12633,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12633,\n            end: 12634,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 12634,\n            end: 12635,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 12635,\n            end: 12636,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12636,\n            end: 12638,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 12638,\n            end: 12654,\n        },\n        TokenData {\n            kind: \"Have\",\n            text: \"have\",\n            start: 12654,\n            end: 12658,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12658,\n            end: 12659,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟨\",\n            start: 12659,\n            end: 12662,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"i\",\n            start: 12662,\n            end: 12663,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 12663,\n            end: 12664,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12664,\n            end: 12665,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hi\",\n            start: 12665,\n            end: 12667,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 12667,\n            end: 12668,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12668,\n            end: 12669,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hget\",\n            start: 12669,\n            end: 12673,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟩\",\n            start: 12673,\n            end: 12676,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12676,\n            end: 12677,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \":\",\n            start: 12677,\n            end: 12678,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 12678,\n            end: 12679,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12679,\n            end: 12680,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 12680,\n            end: 12682,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12682,\n            end: 12683,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"h\",\n            start: 12683,\n            end: 12684,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12684,\n            end: 12686,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 12686,\n            end: 12702,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"use\",\n            start: 12702,\n            end: 12705,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12705,\n            end: 12706,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"i\",\n            start: 12706,\n            end: 12707,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12707,\n            end: 12708,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 12708,\n            end: 12709,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12709,\n            end: 12710,\n        },\n        TokenData {\n            kind: \"IntegerLiteral\",\n            text: \"1\",\n            start: 12710,\n            end: 12711,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12711,\n            end: 12713,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 12713,\n            end: 12729,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"constructor\",\n            start: 12729,\n            end: 12740,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12740,\n            end: 12742,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 12742,\n            end: 12758,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 12758,\n            end: 12760,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12760,\n            end: 12761,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 12761,\n            end: 12765,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12765,\n            end: 12766,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 12766,\n            end: 12767,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 12767,\n            end: 12771,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 12771,\n            end: 12772,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length_cons\",\n            start: 12772,\n            end: 12783,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 12783,\n            end: 12784,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12784,\n            end: 12786,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                    \",\n            start: 12786,\n            end: 12806,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 12806,\n            end: 12811,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12811,\n            end: 12812,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 12812,\n            end: 12815,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 12815,\n            end: 12816,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ_lt_succ\",\n            start: 12816,\n            end: 12828,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12828,\n            end: 12829,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hi\",\n            start: 12829,\n            end: 12831,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12831,\n            end: 12833,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 12833,\n            end: 12849,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 12849,\n            end: 12851,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12851,\n            end: 12852,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 12852,\n            end: 12856,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12856,\n            end: 12857,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 12857,\n            end: 12858,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 12858,\n            end: 12862,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 12862,\n            end: 12863,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get\",\n            start: 12863,\n            end: 12866,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 12866,\n            end: 12867,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12867,\n            end: 12868,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hget\",\n            start: 12868,\n            end: 12872,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 12872,\n            end: 12873,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12873,\n            end: 12875,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 12875,\n            end: 12879,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 12879,\n            end: 12881,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12881,\n            end: 12882,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"intro\",\n            start: 12882,\n            end: 12887,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12887,\n            end: 12888,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟨\",\n            start: 12888,\n            end: 12891,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"i\",\n            start: 12891,\n            end: 12892,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 12892,\n            end: 12893,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12893,\n            end: 12894,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hi\",\n            start: 12894,\n            end: 12896,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 12896,\n            end: 12897,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12897,\n            end: 12898,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hget\",\n            start: 12898,\n            end: 12902,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"⟩\",\n            start: 12902,\n            end: 12905,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12905,\n            end: 12907,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 12907,\n            end: 12915,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"induction\",\n            start: 12915,\n            end: 12924,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12924,\n            end: 12925,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"l\",\n            start: 12925,\n            end: 12926,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12926,\n            end: 12927,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"generalizing\",\n            start: 12927,\n            end: 12939,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12939,\n            end: 12940,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"i\",\n            start: 12940,\n            end: 12941,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12941,\n            end: 12942,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 12942,\n            end: 12946,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12946,\n            end: 12948,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 12948,\n            end: 12956,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 12956,\n            end: 12957,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12957,\n            end: 12958,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nil\",\n            start: 12958,\n            end: 12961,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12961,\n            end: 12962,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 12962,\n            end: 12963,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 12963,\n            end: 12964,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12964,\n            end: 12965,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12965,\n            end: 12967,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 12967,\n            end: 12979,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 12979,\n            end: 12983,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12983,\n            end: 12984,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"at\",\n            start: 12984,\n            end: 12986,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12986,\n            end: 12987,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hi\",\n            start: 12987,\n            end: 12989,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12989,\n            end: 12991,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"        \",\n            start: 12991,\n            end: 12999,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 12999,\n            end: 13000,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13000,\n            end: 13001,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cons\",\n            start: 13001,\n            end: 13005,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13005,\n            end: 13006,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 13006,\n            end: 13007,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13007,\n            end: 13008,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ys\",\n            start: 13008,\n            end: 13010,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13010,\n            end: 13011,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 13011,\n            end: 13013,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13013,\n            end: 13014,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 13014,\n            end: 13015,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 13015,\n            end: 13016,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13016,\n            end: 13018,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 13018,\n            end: 13030,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cases\",\n            start: 13030,\n            end: 13035,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13035,\n            end: 13036,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"i\",\n            start: 13036,\n            end: 13037,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13037,\n            end: 13038,\n        },\n        TokenData {\n            kind: \"With\",\n            text: \"with\",\n            start: 13038,\n            end: 13042,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13042,\n            end: 13044,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 13044,\n            end: 13056,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 13056,\n            end: 13057,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13057,\n            end: 13058,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zero\",\n            start: 13058,\n            end: 13062,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13062,\n            end: 13063,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 13063,\n            end: 13064,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 13064,\n            end: 13065,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13065,\n            end: 13067,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 13067,\n            end: 13083,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 13083,\n            end: 13087,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13087,\n            end: 13088,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 13088,\n            end: 13089,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 13089,\n            end: 13093,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 13093,\n            end: 13094,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get\",\n            start: 13094,\n            end: 13097,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 13097,\n            end: 13098,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13098,\n            end: 13099,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"at\",\n            start: 13099,\n            end: 13101,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13101,\n            end: 13102,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hget\",\n            start: 13102,\n            end: 13106,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13106,\n            end: 13108,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 13108,\n            end: 13124,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 13124,\n            end: 13128,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13128,\n            end: 13129,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 13129,\n            end: 13130,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 13130,\n            end: 13134,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 13134,\n            end: 13135,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mem_cons\",\n            start: 13135,\n            end: 13143,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 13143,\n            end: 13144,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13144,\n            end: 13145,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hget\",\n            start: 13145,\n            end: 13149,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 13149,\n            end: 13150,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13150,\n            end: 13152,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"            \",\n            start: 13152,\n            end: 13164,\n        },\n        TokenData {\n            kind: \"Pipe\",\n            text: \"|\",\n            start: 13164,\n            end: 13165,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13165,\n            end: 13166,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"succ\",\n            start: 13166,\n            end: 13170,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13170,\n            end: 13171,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"j\",\n            start: 13171,\n            end: 13172,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13172,\n            end: 13173,\n        },\n        TokenData {\n            kind: \"Eq\",\n            text: \"=\",\n            start: 13173,\n            end: 13174,\n        },\n        TokenData {\n            kind: \"Gt\",\n            text: \">\",\n            start: 13174,\n            end: 13175,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13175,\n            end: 13177,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 13177,\n            end: 13193,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 13193,\n            end: 13197,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13197,\n            end: 13198,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 13198,\n            end: 13199,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 13199,\n            end: 13203,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 13203,\n            end: 13204,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mem_cons\",\n            start: 13204,\n            end: 13212,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 13212,\n            end: 13213,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13213,\n            end: 13215,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 13215,\n            end: 13231,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"right\",\n            start: 13231,\n            end: 13236,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13236,\n            end: 13238,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 13238,\n            end: 13254,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"apply\",\n            start: 13254,\n            end: 13259,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13259,\n            end: 13260,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ih\",\n            start: 13260,\n            end: 13262,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13262,\n            end: 13264,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 13264,\n            end: 13280,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"use\",\n            start: 13280,\n            end: 13283,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13283,\n            end: 13284,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"j\",\n            start: 13284,\n            end: 13285,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13285,\n            end: 13287,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 13287,\n            end: 13303,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"constructor\",\n            start: 13303,\n            end: 13314,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13314,\n            end: 13316,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 13316,\n            end: 13332,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 13332,\n            end: 13334,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13334,\n            end: 13335,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 13335,\n            end: 13339,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13339,\n            end: 13340,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 13340,\n            end: 13341,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 13341,\n            end: 13345,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 13345,\n            end: 13346,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length_cons\",\n            start: 13346,\n            end: 13357,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 13357,\n            end: 13358,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13358,\n            end: 13359,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"at\",\n            start: 13359,\n            end: 13361,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13361,\n            end: 13362,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hi\",\n            start: 13362,\n            end: 13364,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13364,\n            end: 13366,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                    \",\n            start: 13366,\n            end: 13386,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 13386,\n            end: 13391,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13391,\n            end: 13392,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Nat\",\n            start: 13392,\n            end: 13395,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 13395,\n            end: 13396,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"lt_of_succ_lt_succ\",\n            start: 13396,\n            end: 13414,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13414,\n            end: 13415,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hi\",\n            start: 13415,\n            end: 13417,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13417,\n            end: 13419,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                \",\n            start: 13419,\n            end: 13435,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"·\",\n            start: 13435,\n            end: 13437,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13437,\n            end: 13438,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"simp\",\n            start: 13438,\n            end: 13442,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13442,\n            end: 13443,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 13443,\n            end: 13444,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 13444,\n            end: 13448,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \".\",\n            start: 13448,\n            end: 13449,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get\",\n            start: 13449,\n            end: 13452,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 13452,\n            end: 13453,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13453,\n            end: 13454,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"at\",\n            start: 13454,\n            end: 13456,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13456,\n            end: 13457,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hget\",\n            start: 13457,\n            end: 13461,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 13461,\n            end: 13463,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"                    \",\n            start: 13463,\n            end: 13483,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"exact\",\n            start: 13483,\n            end: 13488,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 13488,\n            end: 13489,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hget\",\n            start: 13489,\n            end: 13493,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\",\n            start: 13493,\n            end: 13493,\n        },\n    ],\n    errors: [],\n}" }
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test main`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     lexer::test_lean_lexer
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "315562aa19179848d103fe96d8ab32e1d1be45c70daed43c24acce90c51a6080", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "315562aa19179848d103fe96d8ab32e1d1be45c70daed43c24acce90c51a6080", kill_on_drop: false }`
[INFO] [stdout] 315562aa19179848d103fe96d8ab32e1d1be45c70daed43c24acce90c51a6080
